From 8a24ae9545f96999f1dc6de81a50aa2998c86a15 Mon Sep 17 00:00:00 2001 From: glx22 Date: Thu, 21 Nov 2024 22:34:06 +0100 Subject: [PATCH] Fix #13110: [Script] convert table keys to string when generating JSON --- src/script/api/script_admin.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/script/api/script_admin.cpp b/src/script/api/script_admin.cpp index 4288233d97..858b855231 100644 --- a/src/script/api/script_admin.cpp +++ b/src/script/api/script_admin.cpp @@ -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);