diff options
author | William Wilgus <me.theuser@yahoo.com> | 2018-10-30 22:40:23 -0400 |
---|---|---|
committer | William Wilgus <me.theuser@yahoo.com> | 2018-11-01 16:34:02 +0100 |
commit | be7a58c33155e0f72ad7b1fb23cf931d085e12cb (patch) | |
tree | 201356811efb70aed3199194fbb4e61a599b2ff3 /apps/plugins/lua | |
parent | bbfe4778114c76e23e9c391225da2d6f74812735 (diff) |
Lua Fix utf8encode, remove utf16 functions
The auto generated utf8/16 encode/decode functions did not work.
Upon implementing them correctly I found that lua handles the utf-8
form properly but I could not get utf-16 to work without crashing
maybe someone can come along later and implement utf-16 safe string
functions but for now utf-16 is removed.
Change-Id: I97a044e200dc27f683a45487cd93fce667c670c4
Diffstat (limited to 'apps/plugins/lua')
-rw-r--r-- | apps/plugins/lua/rocklib.c | 13 | ||||
-rwxr-xr-x | apps/plugins/lua/rocklib_aux.pl | 3 |
2 files changed, 16 insertions, 0 deletions
diff --git a/apps/plugins/lua/rocklib.c b/apps/plugins/lua/rocklib.c index 54c2bc0c03..ed625ca369 100644 --- a/apps/plugins/lua/rocklib.c +++ b/apps/plugins/lua/rocklib.c @@ -472,6 +472,16 @@ RB_WRAP(create_numbered_filename) return 1; } +RB_WRAP(utf8encode) +{ + unsigned long ucs = (unsigned long) luaL_checkint(L, 1); + unsigned char tmp[9]; + unsigned char *end = rb->utf8encode(ucs, tmp); + *end = '\0'; + lua_pushstring(L, tmp); + return 1; +} + #define RB_FUNC(func) {#func, rock_##func} static const luaL_Reg rocklib[] = { @@ -520,6 +530,9 @@ static const luaL_Reg rocklib[] = #if CONFIG_CODEC == SWCODEC RB_FUNC(pcm), #endif + + RB_FUNC(utf8encode), + {NULL, NULL} }; #undef RB_FUNC diff --git a/apps/plugins/lua/rocklib_aux.pl b/apps/plugins/lua/rocklib_aux.pl index f52c64e98b..f3705bf2d1 100755 --- a/apps/plugins/lua/rocklib_aux.pl +++ b/apps/plugins/lua/rocklib_aux.pl @@ -70,6 +70,9 @@ my @forbidden_functions = ('^open$', '^s?+rand$', '^strl?+cpy$', '^strl?+cat$', + '^iso_decode$', + '^utf8encode$', + '^utf16', '^codec_', '^timer_', '^lcd_(mono_)?+bitmap', |