|
|
|
@ -63,23 +63,6 @@ int LuaCallbackError(lua_State *luastate, const char *msg)
|
|
|
|
|
return 2;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int LuaPushStringBuffer(lua_State *luastate, const uint8_t *input, size_t input_len)
|
|
|
|
|
{
|
|
|
|
|
/* we're using a buffer sized at a multiple of 4 as lua_pushlstring generates
|
|
|
|
|
* invalid read errors in valgrind otherwise. Adding in a nul to be sure.
|
|
|
|
|
*
|
|
|
|
|
* Buffer size = len + 1 (for nul) + whatever makes it a multiple of 4 */
|
|
|
|
|
size_t buflen = input_len + 1 + ((input_len + 1) % 4);
|
|
|
|
|
uint8_t buf[buflen];
|
|
|
|
|
memset(buf, 0x00, buflen);
|
|
|
|
|
memcpy(buf, input, input_len);
|
|
|
|
|
buf[input_len] = '\0';
|
|
|
|
|
|
|
|
|
|
/* return value through luastate, as a luastring */
|
|
|
|
|
lua_pushlstring(luastate, (char *)buf, input_len);
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const char *LuaGetStringArgument(lua_State *luastate, int argc)
|
|
|
|
|
{
|
|
|
|
|
/* get argument */
|
|
|
|
|