1
0
mirror of https://github.com/OpenTTD/OpenTTD synced 2026-01-16 00:42:45 +01:00

Codechange: use std::string_view for sq_getstring

This commit is contained in:
Rubidium
2025-05-02 18:46:50 +02:00
committed by rubidium42
parent f4f05dea33
commit 278aee2c19
12 changed files with 74 additions and 73 deletions

View File

@@ -45,10 +45,10 @@ bool ScriptAdminMakeJSON(nlohmann::json &json, HSQUIRRELVM vm, SQInteger index,
}
case OT_STRING: {
const SQChar *buf;
sq_getstring(vm, index, &buf);
std::string_view view;
sq_getstring(vm, index, view);
json = std::string(buf);
json = view;
return true;
}
@@ -78,9 +78,9 @@ bool ScriptAdminMakeJSON(nlohmann::json &json, HSQUIRRELVM vm, SQInteger index,
sq_pushnull(vm);
while (SQ_SUCCEEDED(sq_next(vm, index - 1))) {
sq_tostring(vm, -2);
const SQChar *buf;
sq_getstring(vm, -1, &buf);
std::string key = std::string(buf);
std::string_view view;
sq_getstring(vm, -1, view);
std::string key{view};
sq_pop(vm, 1);
nlohmann::json value;

View File

@@ -60,10 +60,10 @@ SQInteger ScriptText::_SetParam(int parameter, HSQUIRRELVM vm)
switch (sq_gettype(vm, -1)) {
case OT_STRING: {
const SQChar *value;
sq_getstring(vm, -1, &value);
std::string_view view;
sq_getstring(vm, -1, view);
this->param[parameter] = StrMakeValid(value);
this->param[parameter] = StrMakeValid(view);
break;
}
@@ -135,10 +135,10 @@ SQInteger ScriptText::_set(HSQUIRRELVM vm)
int32_t k;
if (sq_gettype(vm, 2) == OT_STRING) {
const SQChar *key_string;
sq_getstring(vm, 2, &key_string);
std::string_view view;
sq_getstring(vm, 2, view);
std::string str = StrMakeValid(key_string);
std::string str = StrMakeValid(view);
if (!str.starts_with("param_") || str.size() > 8) return SQ_ERROR;
k = stoi(str.substr(6));