summaryrefslogtreecommitdiffstats
path: root/apps/plugins/lua
diff options
context:
space:
mode:
authorWilliam Wilgus <me.theuser@yahoo.com>2019-07-18 14:50:38 -0500
committerWilliam Wilgus <me.theuser@yahoo.com>2019-07-18 14:56:00 -0500
commit8bd992c5035bfee6aedbcae7669be5b823537aad (patch)
tree2db34dbf0765362d875242b9908f3d0d95b387bb /apps/plugins/lua
parentd5908f520e8b21091766076584c9f582dbcdae1c (diff)
downloadrockbox-8bd992c5035bfee6aedbcae7669be5b823537aad.tar.gz
rockbox-8bd992c5035bfee6aedbcae7669be5b823537aad.tar.bz2
rockbox-8bd992c5035bfee6aedbcae7669be5b823537aad.zip
lua disable bytecode dump & undump functions
Adds a flag to remove the ability to dump and load lua bytecode saves 6+kb Change-Id: I080323df7f03f752e0a10928e22a7ce3190a9633
Diffstat (limited to 'apps/plugins/lua')
-rw-r--r--apps/plugins/lua/ldump.c13
-rw-r--r--apps/plugins/lua/luaconf.h4
-rw-r--r--apps/plugins/lua/lundump.c13
-rw-r--r--apps/plugins/lua/lundump.h8
4 files changed, 33 insertions, 5 deletions
diff --git a/apps/plugins/lua/ldump.c b/apps/plugins/lua/ldump.c
index c9d3d4870f..9afba60a37 100644
--- a/apps/plugins/lua/ldump.c
+++ b/apps/plugins/lua/ldump.c
@@ -15,6 +15,8 @@
#include "lstate.h"
#include "lundump.h"
+#ifndef LUA_DISABLE_BYTECODE
+
typedef struct {
lua_State* L;
lua_Writer writer;
@@ -162,3 +164,14 @@ int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, void* data, int strip
DumpFunction(f,NULL,&D);
return D.status;
}
+#else /* LUA_DISABLE_BYTECODE */
+#include "lauxlib.h"
+int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, void* data, int strip)
+{
+ (void) f;
+ (void) w;
+ (void) data;
+ (void) strip;
+ return luaL_error(L, " bytecode not supported");
+}
+#endif
diff --git a/apps/plugins/lua/luaconf.h b/apps/plugins/lua/luaconf.h
index 4b6f25d008..582968d423 100644
--- a/apps/plugins/lua/luaconf.h
+++ b/apps/plugins/lua/luaconf.h
@@ -797,7 +797,7 @@ extern long rb_pow(long, long);
#undef LUA_COMPAT_GFIND
#undef LUA_COMPAT_OPENLIB
-/* Resize heap allocated buffers */
+/* Resize [STACK] allocated buffers */
#undef LUAI_MAXVARS /*200*/
#define LUAI_MAXVARS 100
@@ -811,6 +811,6 @@ extern long rb_pow(long, long);
#include "rockconf.h"
/*else*/
-#define LUAC_TRUST_BINARIES
+#define LUA_DISABLE_BYTECODE
#endif
diff --git a/apps/plugins/lua/lundump.c b/apps/plugins/lua/lundump.c
index 6a8422de30..967b45c94b 100644
--- a/apps/plugins/lua/lundump.c
+++ b/apps/plugins/lua/lundump.c
@@ -20,6 +20,8 @@
#include "lundump.h"
#include "lzio.h"
+#ifndef LUA_DISABLE_BYTECODE
+
typedef struct {
lua_State* L;
ZIO* Z;
@@ -225,3 +227,14 @@ void luaU_header (char* h)
*h++=(char)sizeof(lua_Number);
*h++=(char)(((lua_Number)0.5)==0); /* is lua_Number integral? */
}
+
+#else /* LUA_DISABLE_BYTECODE */
+#include "lauxlib.h"
+Proto* luaU_undump (lua_State* L, ZIO* Z, Mbuffer* buff, const char* name)
+{
+ (void) Z;
+ (void) buff;
+ luaL_error(L, LUA_QL("%s") " bytecode not supported", name);
+ return NULL;
+}
+#endif
diff --git a/apps/plugins/lua/lundump.h b/apps/plugins/lua/lundump.h
index f791a4f173..b2fe851e59 100644
--- a/apps/plugins/lua/lundump.h
+++ b/apps/plugins/lua/lundump.h
@@ -13,12 +13,13 @@
/* load one chunk; from lundump.c */
LUAI_FUNC Proto* luaU_undump (lua_State* L, ZIO* Z, Mbuffer* buff, const char* name);
-/* make header; from lundump.c */
-LUAI_FUNC void luaU_header (char* h);
-
/* dump one chunk; from ldump.c */
LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, void* data, int strip);
+#ifndef LUA_DISABLE_BYTECODE
+/* make header; from lundump.c */
+LUAI_FUNC void luaU_header (char* h);
+
#ifdef luac_c
/* print one chunk; from print.c */
LUAI_FUNC void luaU_print (const Proto* f, int full);
@@ -33,4 +34,5 @@ LUAI_FUNC void luaU_print (const Proto* f, int full);
/* size of header of binary files */
#define LUAC_HEADERSIZE 12
+#endif /* LUA_DISABLE_BYTECODE */
#endif