diff options
Diffstat (limited to 'src/script/api/script_event_types.cpp')
-rw-r--r-- | src/script/api/script_event_types.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/script/api/script_event_types.cpp b/src/script/api/script_event_types.cpp index 84c001836..84d6d99cd 100644 --- a/src/script/api/script_event_types.cpp +++ b/src/script/api/script_event_types.cpp @@ -134,7 +134,7 @@ ScriptEventAdminPort::~ScriptEventAdminPort() SQInteger ScriptEventAdminPort::GetObject(HSQUIRRELVM vm) { - char *p = this->json; + const char *p = this->json; if (this->ReadTable(vm, p) == nullptr) { sq_pushnull(vm); @@ -144,9 +144,9 @@ SQInteger ScriptEventAdminPort::GetObject(HSQUIRRELVM vm) return 1; } -char *ScriptEventAdminPort::ReadString(HSQUIRRELVM vm, char *p) +const char *ScriptEventAdminPort::ReadString(HSQUIRRELVM vm, const char *p) { - char *value = p; + const char *value = p; bool escape = false; for (;;) { @@ -168,14 +168,13 @@ char *ScriptEventAdminPort::ReadString(HSQUIRRELVM vm, char *p) p++; } - *p = '\0'; - sq_pushstring(vm, value, -1); - *p++ = '"'; + sq_pushstring(vm, value, p - value); + p++; // Step past the end-of-string marker (") return p; } -char *ScriptEventAdminPort::ReadTable(HSQUIRRELVM vm, char *p) +const char *ScriptEventAdminPort::ReadTable(HSQUIRRELVM vm, const char *p) { sq_newtable(vm); @@ -218,7 +217,7 @@ char *ScriptEventAdminPort::ReadTable(HSQUIRRELVM vm, char *p) return p; } -char *ScriptEventAdminPort::ReadValue(HSQUIRRELVM vm, char *p) +const char *ScriptEventAdminPort::ReadValue(HSQUIRRELVM vm, const char *p) { SKIP_EMPTY(p); @@ -257,7 +256,7 @@ char *ScriptEventAdminPort::ReadValue(HSQUIRRELVM vm, char *p) sq_newarray(vm, 0); /* Empty array? */ - char *p2 = p + 1; + const char *p2 = p + 1; SKIP_EMPTY(p2); if (*p2 == ']') { p = p2 + 1; |