From 0b7a8d5afd3d751fd0f6454098bc9fd1d05ee764 Mon Sep 17 00:00:00 2001 From: William Wilgus Date: Fri, 12 Oct 2018 11:58:09 -0400 Subject: [PATCH] Lua remove unusable/unneeded functions from rocklib_aux rocklib_aux is auto generated from plugin.h there are a few functions that get added automatically that are unusable without their companion functions or duplicate functionality already supplied by lua Duplicated functionality: rb->rand, rb->srand -- see math.rand math.srand rb->remove, rb->rename -- see os.remove, os.rename Unusable: rb->open_utf8 -- this should be added to the lua file open routines (if at all) rb->codec_run_proc, rb->codec_close -- without rb->codec_load_file these are pointless rb->timer_set_period, timer_unregister -- even with timer_register implemented lua is not -- reentrant and crashes the state when timer fires Shouldn't be used!: rb->strlcpy, rb->strlcat, rb->strcpy, rb->strcat -- lua reuses strings by hashed values you break this contract if -- you change strings behind its back plus lua provides a way to -- do these functions safely within the strings api Change-Id: I2f65704a90930378cbbceb254e52f61e8074471e --- apps/plugins/lua/rocklib_aux.pl | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/apps/plugins/lua/rocklib_aux.pl b/apps/plugins/lua/rocklib_aux.pl index 9103fccbda..8256b838ed 100755 --- a/apps/plugins/lua/rocklib_aux.pl +++ b/apps/plugins/lua/rocklib_aux.pl @@ -51,17 +51,25 @@ my @ported_functions; # you want to manually port them to Lua. The format is a standard Perl regular # expression. my @forbidden_functions = ('^open$', + '^open_utf8$', '^close$', '^read$', '^write$', '^mkdir$', '^rmdir$', + '^remove$', + '^rename$', '^lseek$', '^ftruncate$', '^filesize$', '^fdprintf$', '^read_line$', '^[a-z]+dir$', + '^s?+rand$', + '^strl?+cpy$', + '^strl?+cat$', + '^codec_', + '^timer_', '^__.+$', '^.+_(un)?cached$', '^audio_play$',