rigidchips-lib / rigidchips

23 stars 7 forks source link

LuaでOutにテーブルとか関数とか突っ込むとクラッシュしたりしなかったりする #138

Closed siruhu closed 6 years ago

siruhu commented 6 years ago

その他の表示だけsprintfの引数入れ忘れてたせい int luaPrint(lua_State *L) { int n=lua_gettop(L); if(n<1) return 0; int a=(int)lua_tonumber(L, 1); int i; char str[1000]; ScriptOutput[a][0]='\0'; for (i=2; i<=n; i++){ if (lua_isnumber(L,i)) { sprintf(str,"%.2f",lua_tonumber(L,i)); } else if (lua_isstring(L,i)) { sprintf(str,"%s",lua_tostring(L,i)); } else if (lua_isnil(L,i)) { sprintf(str,"%s","nil"); } else if (lua_isboolean(L,i)) { sprintf(str,"%s",lua_toboolean(L,i) ? "true" : "false"); } else { sprintf("%s:%p",lua_typename(L,lua_type(L,i)),lua_topointer(L,i)); // <-str,どこいったし } strcat(ScriptOutput[a],str); } return 0; }