I am bit new, but I hope push order is fine. First I push length, next msg. And in function, my 1st arg is msg, next arg is length. Is not this order right? BR Austin On Fri, Jun 27, 2014 at 10:02 PM, Daurnimator <quae@daurnimator.com> wrote: On 27 June 2014 12:17, Austin Einter <austin.einter@gmail.com> wrote: const char *c_function = "function modify_content_length(msg, length) " lua_getglobal(L,"modify_content_length"); lua_pushinteger(L,length); lua_pushstring(L, msg); lua_call(L,2,1); I haven't run your code, but I can see that you're pushing arguments in the wrong order. Otherwise, you should use pushlstring (with your length) instead of pushstring; Also, passing the length as a parameter itself is pointless: use the length operator '#'
On 27 June 2014 12:17, Austin Einter <austin.einter@gmail.com> wrote: const char *c_function = "function modify_content_length(msg, length) " lua_getglobal(L,"modify_content_length"); lua_pushinteger(L,length); lua_pushstring(L, msg); lua_call(L,2,1); I haven't run your code, but I can see that you're pushing arguments in the wrong order. Otherwise, you should use pushlstring (with your length) instead of pushstring; Also, passing the length as a parameter itself is pointless: use the length operator '#'
const char *c_function = "function modify_content_length(msg, length) " lua_getglobal(L,"modify_content_length"); lua_pushinteger(L,length); lua_pushstring(L, msg); lua_call(L,2,1);