Codechange: Use std::span/std::string_view for strecpy. (#12848)
This avoids needing to manually pass the last character of the destination buffer, and allows use of standard library functions.
This commit is contained in:
@@ -108,11 +108,11 @@ void FileStringReader::HandlePragma(char *str)
|
||||
if (!memcmp(str, "id ", 3)) {
|
||||
this->data.next_string_id = std::strtoul(str + 3, nullptr, 0);
|
||||
} else if (!memcmp(str, "name ", 5)) {
|
||||
strecpy(_lang.name, str + 5, lastof(_lang.name));
|
||||
strecpy(_lang.name, str + 5);
|
||||
} else if (!memcmp(str, "ownname ", 8)) {
|
||||
strecpy(_lang.own_name, str + 8, lastof(_lang.own_name));
|
||||
strecpy(_lang.own_name, str + 8);
|
||||
} else if (!memcmp(str, "isocode ", 8)) {
|
||||
strecpy(_lang.isocode, str + 8, lastof(_lang.isocode));
|
||||
strecpy(_lang.isocode, str + 8);
|
||||
} else if (!memcmp(str, "textdir ", 8)) {
|
||||
if (!memcmp(str + 8, "ltr", 3)) {
|
||||
_lang.text_dir = TD_LTR;
|
||||
@@ -123,13 +123,13 @@ void FileStringReader::HandlePragma(char *str)
|
||||
}
|
||||
} else if (!memcmp(str, "digitsep ", 9)) {
|
||||
str += 9;
|
||||
strecpy(_lang.digit_group_separator, strcmp(str, "{NBSP}") == 0 ? NBSP : str, lastof(_lang.digit_group_separator));
|
||||
strecpy(_lang.digit_group_separator, strcmp(str, "{NBSP}") == 0 ? NBSP : str);
|
||||
} else if (!memcmp(str, "digitsepcur ", 12)) {
|
||||
str += 12;
|
||||
strecpy(_lang.digit_group_separator_currency, strcmp(str, "{NBSP}") == 0 ? NBSP : str, lastof(_lang.digit_group_separator_currency));
|
||||
strecpy(_lang.digit_group_separator_currency, strcmp(str, "{NBSP}") == 0 ? NBSP : str);
|
||||
} else if (!memcmp(str, "decimalsep ", 11)) {
|
||||
str += 11;
|
||||
strecpy(_lang.digit_decimal_separator, strcmp(str, "{NBSP}") == 0 ? NBSP : str, lastof(_lang.digit_decimal_separator));
|
||||
strecpy(_lang.digit_decimal_separator, strcmp(str, "{NBSP}") == 0 ? NBSP : str);
|
||||
} else if (!memcmp(str, "winlangid ", 10)) {
|
||||
const char *buf = str + 10;
|
||||
long langid = std::strtol(buf, nullptr, 16);
|
||||
@@ -153,7 +153,7 @@ void FileStringReader::HandlePragma(char *str)
|
||||
|
||||
if (s == nullptr) break;
|
||||
if (_lang.num_genders >= MAX_NUM_GENDERS) FatalError("Too many genders, max {}", MAX_NUM_GENDERS);
|
||||
strecpy(_lang.genders[_lang.num_genders], s, lastof(_lang.genders[_lang.num_genders]));
|
||||
strecpy(_lang.genders[_lang.num_genders], s);
|
||||
_lang.num_genders++;
|
||||
}
|
||||
} else if (!memcmp(str, "case ", 5)) {
|
||||
@@ -165,7 +165,7 @@ void FileStringReader::HandlePragma(char *str)
|
||||
|
||||
if (s == nullptr) break;
|
||||
if (_lang.num_cases >= MAX_NUM_CASES) FatalError("Too many cases, max {}", MAX_NUM_CASES);
|
||||
strecpy(_lang.cases[_lang.num_cases], s, lastof(_lang.cases[_lang.num_cases]));
|
||||
strecpy(_lang.cases[_lang.num_cases], s);
|
||||
_lang.num_cases++;
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -756,9 +756,9 @@ void StringReader::ParseFile()
|
||||
|
||||
/* For each new file we parse, reset the genders, and language codes. */
|
||||
MemSetT(&_lang, 0);
|
||||
strecpy(_lang.digit_group_separator, ",", lastof(_lang.digit_group_separator));
|
||||
strecpy(_lang.digit_group_separator_currency, ",", lastof(_lang.digit_group_separator_currency));
|
||||
strecpy(_lang.digit_decimal_separator, ".", lastof(_lang.digit_decimal_separator));
|
||||
strecpy(_lang.digit_group_separator, ",");
|
||||
strecpy(_lang.digit_group_separator_currency, ",");
|
||||
strecpy(_lang.digit_decimal_separator, ".");
|
||||
|
||||
_cur_line = 1;
|
||||
while (this->data.next_string_id < this->data.max_strings) {
|
||||
|
||||
Reference in New Issue
Block a user