Changeset - r25558:490b113014ff
[Not reviewed]
master
0 5 0
Patric Stout - 3 years ago 2021-05-29 13:18:51
truebrain@openttd.org
Codechange: move casting a "const char *" to "char *" to the caller

It is not nice to have your definition say you won't change a value
while in fact the whole reason for your existance is to change it.
5 files changed with 9 insertions and 9 deletions:
0 comments (0 inline, 0 general)
src/script/api/script_text.cpp
Show inline comments
 
@@ -157,7 +157,7 @@ SQInteger ScriptText::_set(HSQUIRRELVM v
 
	if (sq_gettype(vm, 2) == OT_STRING) {
 
		const SQChar *key_string;
 
		sq_getstring(vm, 2, &key_string);
 
		StrMakeValidInPlace(key_string);
 
		StrMakeValidInPlace(const_cast<char *>(key_string));
 

	
 
		if (strncmp(key_string, "param_", 6) != 0 || strlen(key_string) > 8) return SQ_ERROR;
 
		k = atoi(key_string + 6);
src/script/script_info.cpp
Show inline comments
 
@@ -122,7 +122,7 @@ SQInteger ScriptInfo::AddSetting(HSQUIRR
 
	while (SQ_SUCCEEDED(sq_next(vm, -2))) {
 
		const SQChar *key;
 
		if (SQ_FAILED(sq_getstring(vm, -2, &key))) return SQ_ERROR;
 
		StrMakeValidInPlace(key);
 
		StrMakeValidInPlace(const_cast<char *>(key));
 

	
 
		if (strcmp(key, "name") == 0) {
 
			const SQChar *sqvalue;
 
@@ -141,7 +141,7 @@ SQInteger ScriptInfo::AddSetting(HSQUIRR
 
			const SQChar *sqdescription;
 
			if (SQ_FAILED(sq_getstring(vm, -1, &sqdescription))) return SQ_ERROR;
 
			config.description = stredup(sqdescription);
 
			StrMakeValidInPlace(config.description);
 
			StrMakeValidInPlace(const_cast<char *>(config.description));
 
			items |= 0x002;
 
		} else if (strcmp(key, "min_value") == 0) {
 
			SQInteger res;
 
@@ -226,7 +226,7 @@ SQInteger ScriptInfo::AddLabels(HSQUIRRE
 
{
 
	const SQChar *setting_name;
 
	if (SQ_FAILED(sq_getstring(vm, -2, &setting_name))) return SQ_ERROR;
 
	StrMakeValidInPlace(setting_name);
 
	StrMakeValidInPlace(const_cast<char *>(setting_name));
 

	
 
	ScriptConfigItem *config = nullptr;
 
	for (auto &item : this->config_list) {
 
@@ -253,7 +253,7 @@ SQInteger ScriptInfo::AddLabels(HSQUIRRE
 
		/* Because squirrel doesn't support identifiers starting with a digit,
 
		 * we skip the first character. */
 
		int key = atoi(key_string + 1);
 
		StrMakeValidInPlace(label);
 
		StrMakeValidInPlace(const_cast<char *>(label));
 

	
 
		/* !Contains() prevents stredup from leaking. */
 
		if (!config->labels->Contains(key)) config->labels->Insert(key, stredup(label));
src/script/squirrel.cpp
Show inline comments
 
@@ -448,7 +448,7 @@ bool Squirrel::CallStringMethodStrdup(HS
 
	if (!this->CallMethod(instance, method_name, &ret, suspend)) return false;
 
	if (ret._type != OT_STRING) return false;
 
	*res = stredup(ObjectToString(&ret));
 
	StrMakeValidInPlace(*res);
 
	StrMakeValidInPlace(const_cast<char *>(*res));
 
	return true;
 
}
 

	
src/string.cpp
Show inline comments
 
@@ -266,10 +266,10 @@ void StrMakeValidInPlace(char *str, cons
 
 * otherwise use StrMakeValidInPlace(str, last, settings) variant.
 
 * @param str The string (of which you are sure ends with '\0') to validate.
 
 */
 
void StrMakeValidInPlace(const char *str, StringValidationSettings settings)
 
void StrMakeValidInPlace(char *str, StringValidationSettings settings)
 
{
 
	/* We know it is '\0' terminated. */
 
	StrMakeValidInPlace(const_cast<char *>(str), str + strlen(str), settings);
 
	StrMakeValidInPlace(str, str + strlen(str), settings);
 
}
 

	
 
/**
src/string_func.h
Show inline comments
 
@@ -41,7 +41,7 @@ char *CDECL str_fmt(const char *str, ...
 

	
 
void StrMakeValidInPlace(char *str, const char *last, StringValidationSettings settings = SVS_REPLACE_WITH_QUESTION_MARK) NOACCESS(2);
 
[[nodiscard]] std::string StrMakeValid(const std::string &str, StringValidationSettings settings = SVS_REPLACE_WITH_QUESTION_MARK);
 
void StrMakeValidInPlace(const char *str, StringValidationSettings settings = SVS_REPLACE_WITH_QUESTION_MARK);
 
void StrMakeValidInPlace(char *str, StringValidationSettings settings = SVS_REPLACE_WITH_QUESTION_MARK);
 

	
 
void str_fix_scc_encoded(char *str, const char *last) NOACCESS(2);
 
void str_strip_colours(char *str);
0 comments (0 inline, 0 general)