(svn r20951) -Codechange: Add SmallMap::Contains() and use it.

This commit is contained in:
frosch
2010-10-16 20:34:43 +00:00
parent 82d4ffacff
commit 98250ad8da
5 changed files with 16 additions and 5 deletions

View File

@@ -318,7 +318,7 @@ struct AISettingsWindow : public Window {
SetDParam(idx++, current_value == 0 ? STR_CONFIG_SETTING_OFF : STR_CONFIG_SETTING_ON);
} else {
DrawArrowButtons(buttons_left, y + 2, COLOUR_YELLOW, (this->clicked_button == i) ? 1 + (this->clicked_increase != rtl) : 0, editable && current_value > (*it).min_value, editable && current_value < (*it).max_value);
if (it->labels != NULL && it->labels->Find(current_value) != it->labels->End()) {
if (it->labels != NULL && it->labels->Contains(current_value)) {
SetDParam(idx++, STR_JUST_RAW_STRING);
SetDParamStr(idx++, it->labels->Find(current_value)->second);
} else {

View File

@@ -307,7 +307,8 @@ SQInteger AIInfo::AddLabels(HSQUIRRELVM vm)
int key = atoi(key_string + 1);
const char *label = SQ2OTTD(sq_label);
if (config->labels->Find(key) == config->labels->End()) config->labels->Insert(key, strdup(label));
/* !Contains() prevents strdup from leaking. */
if (!config->labels->Contains(key)) config->labels->Insert(key, strdup(label));
sq_pop(vm, 2);
}