diff --git a/lualib-src/sproto/lsproto.c b/lualib-src/sproto/lsproto.c index 3a70a6d4..c7708fed 100644 --- a/lualib-src/sproto/lsproto.c +++ b/lualib-src/sproto/lsproto.c @@ -604,6 +604,8 @@ encode_default(const struct sproto_arg *args) { lua_pushstring(L, args->tagname); if (args->index > 0) { lua_newtable(L); + lua_rawset(L, -3); + return SPROTO_CB_NOARRAY; } else { switch(args->type) { case SPROTO_TINTEGER: @@ -621,9 +623,9 @@ encode_default(const struct sproto_arg *args) { lua_setfield(L, -2, "__type"); break; } + lua_rawset(L, -3); + return SPROTO_CB_NIL; } - lua_rawset(L, -3); - return 0; } /*