Fix #13110: [Script] convert table keys to string when generating JSON (#13113)

This commit is contained in:
Loïc Guilloux 2024-11-23 13:46:33 +01:00 committed by GitHub
parent b890dab2b4
commit 681b1928b4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -77,11 +77,11 @@ bool ScriptAdminMakeJSON(nlohmann::json &json, HSQUIRRELVM vm, SQInteger index,
sq_pushnull(vm);
while (SQ_SUCCEEDED(sq_next(vm, index - 1))) {
/* Squirrel ensure the key is a string. */
assert(sq_gettype(vm, -2) == OT_STRING);
sq_tostring(vm, -2);
const SQChar *buf;
sq_getstring(vm, -2, &buf);
sq_getstring(vm, -1, &buf);
std::string key = std::string(buf);
sq_pop(vm, 1);
nlohmann::json value;
bool res = ScriptAdminMakeJSON(value, vm, -1, depth + 1);