(svn r22270) -Codechange: initialize some temporary arrays on the same line as they're declared

so the size doesn't have to be declared manually. Also detect the size of those
arrays automatically by using a template
replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
yexo 14 years ago
parent eb4ddb256e
commit fd74c0f9dc

@ -286,8 +286,8 @@ static char *FormatBytes(char *buff, int64 number, const char *last)
{ {
assert(number >= 0); assert(number >= 0);
/* 1 2^10 2^20 2^30 2^40 2^50 2^60 */ /* 1 2^10 2^20 2^30 2^40 2^50 2^60 */
const char * const iec_prefixes[] = { "", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei" }; const char * const iec_prefixes[] = {"", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei"};
uint id = 1; uint id = 1;
while (number >= 1024 * 1024) { while (number >= 1024 * 1024) {
number /= 1024; number /= 1024;
@ -320,7 +320,7 @@ static char *FormatYmdString(char *buff, Date date, uint modifier, const char *l
YearMonthDay ymd; YearMonthDay ymd;
ConvertDateToYMD(date, &ymd); ConvertDateToYMD(date, &ymd);
int64 args[3] = { ymd.day + STR_ORDINAL_NUMBER_1ST - 1, STR_MONTH_ABBREV_JAN + ymd.month, ymd.year }; int64 args[] = {ymd.day + STR_ORDINAL_NUMBER_1ST - 1, STR_MONTH_ABBREV_JAN + ymd.month, ymd.year};
StringParameters tmp_params(args); StringParameters tmp_params(args);
return FormatString(buff, GetStringPtr(STR_FORMAT_DATE_LONG), &tmp_params, modifier >> 24, last); return FormatString(buff, GetStringPtr(STR_FORMAT_DATE_LONG), &tmp_params, modifier >> 24, last);
} }
@ -330,7 +330,7 @@ static char *FormatMonthAndYear(char *buff, Date date, uint modifier, const char
YearMonthDay ymd; YearMonthDay ymd;
ConvertDateToYMD(date, &ymd); ConvertDateToYMD(date, &ymd);
int64 args[2] = { STR_MONTH_JAN + ymd.month, ymd.year }; int64 args[] = {STR_MONTH_JAN + ymd.month, ymd.year};
StringParameters tmp_params(args); StringParameters tmp_params(args);
return FormatString(buff, GetStringPtr(STR_FORMAT_DATE_SHORT), &tmp_params, modifier >> 24, last); return FormatString(buff, GetStringPtr(STR_FORMAT_DATE_SHORT), &tmp_params, modifier >> 24, last);
} }
@ -346,7 +346,7 @@ static char *FormatTinyOrISODate(char *buff, Date date, StringID str, const char
snprintf(day, lengthof(day), "%02i", ymd.day); snprintf(day, lengthof(day), "%02i", ymd.day);
snprintf(month, lengthof(month), "%02i", ymd.month + 1); snprintf(month, lengthof(month), "%02i", ymd.month + 1);
int64 args[3] = { (int64)(size_t)day, (int64)(size_t)month, ymd.year }; int64 args[] = {(int64)(size_t)day, (int64)(size_t)month, ymd.year};
StringParameters tmp_params(args); StringParameters tmp_params(args);
return FormatString(buff, GetStringPtr(str), &tmp_params, 0, last); return FormatString(buff, GetStringPtr(str), &tmp_params, 0, last);
} }
@ -734,17 +734,16 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
break; break;
case SCC_VELOCITY: { // {VELOCITY} case SCC_VELOCITY: { // {VELOCITY}
int64 args_array[1];
StringParameters tmp_params(args_array);
assert(_settings_game.locale.units < lengthof(_units)); assert(_settings_game.locale.units < lengthof(_units));
args_array[0] = ConvertSpeedToDisplaySpeed(args->GetInt64(SCC_VELOCITY) * 10 / 16); int64 args_array[] = {ConvertSpeedToDisplaySpeed(args->GetInt64(SCC_VELOCITY) * 10 / 16)};
StringParameters tmp_params(args_array);
buff = FormatString(buff, GetStringPtr(_units[_settings_game.locale.units].velocity), &tmp_params, modifier >> 24, last); buff = FormatString(buff, GetStringPtr(_units[_settings_game.locale.units].velocity), &tmp_params, modifier >> 24, last);
modifier = 0; modifier = 0;
break; break;
} }
case SCC_HEIGHT: { // {HEIGHT} case SCC_HEIGHT: { // {HEIGHT}
int64 args_array[1] = {_units[_settings_game.locale.units].c_height.ToDisplay(args->GetInt64())}; int64 args_array[] = {_units[_settings_game.locale.units].c_height.ToDisplay(args->GetInt64())};
StringParameters tmp_params(args_array); StringParameters tmp_params(args_array);
buff = FormatString(buff, GetStringPtr(_units[_settings_game.locale.units].height), &tmp_params, modifier >> 24, last); buff = FormatString(buff, GetStringPtr(_units[_settings_game.locale.units].height), &tmp_params, modifier >> 24, last);
modifier = 0; modifier = 0;
@ -766,20 +765,18 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
StringID cargo_str = CargoSpec::Get(args->GetInt32(SCC_CARGO_SHORT))->units_volume; StringID cargo_str = CargoSpec::Get(args->GetInt32(SCC_CARGO_SHORT))->units_volume;
switch (cargo_str) { switch (cargo_str) {
case STR_TONS: { case STR_TONS: {
int64 args_array[1];
StringParameters tmp_params(args_array);
assert(_settings_game.locale.units < lengthof(_units)); assert(_settings_game.locale.units < lengthof(_units));
args_array[0] = _units[_settings_game.locale.units].c_weight.ToDisplay(args->GetInt64()); int64 args_array[] = {_units[_settings_game.locale.units].c_weight.ToDisplay(args->GetInt64())};
StringParameters tmp_params(args_array);
buff = FormatString(buff, GetStringPtr(_units[_settings_game.locale.units].l_weight), &tmp_params, modifier >> 24, last); buff = FormatString(buff, GetStringPtr(_units[_settings_game.locale.units].l_weight), &tmp_params, modifier >> 24, last);
modifier = 0; modifier = 0;
break; break;
} }
case STR_LITERS: { case STR_LITERS: {
int64 args_array[1];
StringParameters tmp_params(args_array);
assert(_settings_game.locale.units < lengthof(_units)); assert(_settings_game.locale.units < lengthof(_units));
args_array[0] = _units[_settings_game.locale.units].c_volume.ToDisplay(args->GetInt64()); int64 args_array[] = {_units[_settings_game.locale.units].c_volume.ToDisplay(args->GetInt64())};
StringParameters tmp_params(args_array);
buff = FormatString(buff, GetStringPtr(_units[_settings_game.locale.units].l_volume), &tmp_params, modifier >> 24, last); buff = FormatString(buff, GetStringPtr(_units[_settings_game.locale.units].l_volume), &tmp_params, modifier >> 24, last);
modifier = 0; modifier = 0;
break; break;
@ -846,25 +843,23 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
case SCC_INDUSTRY_NAME: { // {INDUSTRY} case SCC_INDUSTRY_NAME: { // {INDUSTRY}
const Industry *i = Industry::Get(args->GetInt32(SCC_INDUSTRY_NAME)); const Industry *i = Industry::Get(args->GetInt32(SCC_INDUSTRY_NAME));
int64 args_array[2];
StringParameters tmp_params(args_array);
/* industry not valid anymore? */ /* industry not valid anymore? */
assert(i != NULL); assert(i != NULL);
/* First print the town name and the industry type name. */ /* First print the town name and the industry type name. */
args_array[0] = i->town->index; int64 args_array[2] = {i->town->index, GetIndustrySpec(i->type)->name};
args_array[1] = GetIndustrySpec(i->type)->name; StringParameters tmp_params(args_array);
buff = FormatString(buff, GetStringPtr(STR_FORMAT_INDUSTRY_NAME), &tmp_params, modifier >> 24, last); buff = FormatString(buff, GetStringPtr(STR_FORMAT_INDUSTRY_NAME), &tmp_params, modifier >> 24, last);
modifier = 0; modifier = 0;
break; break;
} }
case SCC_VOLUME: { // {VOLUME} case SCC_VOLUME: { // {VOLUME}
int64 args_array[1];
StringParameters tmp_params(args_array);
assert(_settings_game.locale.units < lengthof(_units)); assert(_settings_game.locale.units < lengthof(_units));
args_array[0] = _units[_settings_game.locale.units].c_volume.ToDisplay(args->GetInt64(SCC_VOLUME)); int64 args_array[1] = {_units[_settings_game.locale.units].c_volume.ToDisplay(args->GetInt64(SCC_VOLUME))};
StringParameters tmp_params(args_array);
buff = FormatString(buff, GetStringPtr(_units[_settings_game.locale.units].l_volume), &tmp_params, modifier >> 24, last); buff = FormatString(buff, GetStringPtr(_units[_settings_game.locale.units].l_volume), &tmp_params, modifier >> 24, last);
modifier = 0; modifier = 0;
break; break;
@ -921,50 +916,45 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
} }
case SCC_POWER: { // {POWER} case SCC_POWER: { // {POWER}
int64 args_array[1];
StringParameters tmp_params(args_array);
assert(_settings_game.locale.units < lengthof(_units)); assert(_settings_game.locale.units < lengthof(_units));
args_array[0] = _units[_settings_game.locale.units].c_power.ToDisplay(args->GetInt64()); int64 args_array[1] = {_units[_settings_game.locale.units].c_power.ToDisplay(args->GetInt64())};
StringParameters tmp_params(args_array);
buff = FormatString(buff, GetStringPtr(_units[_settings_game.locale.units].power), &tmp_params, modifier >> 24, last); buff = FormatString(buff, GetStringPtr(_units[_settings_game.locale.units].power), &tmp_params, modifier >> 24, last);
modifier = 0; modifier = 0;
break; break;
} }
case SCC_VOLUME_SHORT: { // {VOLUME_S} case SCC_VOLUME_SHORT: { // {VOLUME_S}
int64 args_array[1];
StringParameters tmp_params(args_array);
assert(_settings_game.locale.units < lengthof(_units)); assert(_settings_game.locale.units < lengthof(_units));
args_array[0] = _units[_settings_game.locale.units].c_volume.ToDisplay(args->GetInt64()); int64 args_array[1] = {_units[_settings_game.locale.units].c_volume.ToDisplay(args->GetInt64())};
StringParameters tmp_params(args_array);
buff = FormatString(buff, GetStringPtr(_units[_settings_game.locale.units].s_volume), &tmp_params, modifier >> 24, last); buff = FormatString(buff, GetStringPtr(_units[_settings_game.locale.units].s_volume), &tmp_params, modifier >> 24, last);
modifier = 0; modifier = 0;
break; break;
} }
case SCC_WEIGHT: { // {WEIGHT} case SCC_WEIGHT: { // {WEIGHT}
int64 args_array[1];
StringParameters tmp_params(args_array);
assert(_settings_game.locale.units < lengthof(_units)); assert(_settings_game.locale.units < lengthof(_units));
args_array[0] = _units[_settings_game.locale.units].c_weight.ToDisplay(args->GetInt64(SCC_WEIGHT)); int64 args_array[1] = {_units[_settings_game.locale.units].c_weight.ToDisplay(args->GetInt64(SCC_WEIGHT))};
StringParameters tmp_params(args_array);
buff = FormatString(buff, GetStringPtr(_units[_settings_game.locale.units].l_weight), &tmp_params, modifier >> 24, last); buff = FormatString(buff, GetStringPtr(_units[_settings_game.locale.units].l_weight), &tmp_params, modifier >> 24, last);
modifier = 0; modifier = 0;
break; break;
} }
case SCC_WEIGHT_SHORT: { // {WEIGHT_S} case SCC_WEIGHT_SHORT: { // {WEIGHT_S}
int64 args_array[1];
StringParameters tmp_params(args_array);
assert(_settings_game.locale.units < lengthof(_units)); assert(_settings_game.locale.units < lengthof(_units));
args_array[0] = _units[_settings_game.locale.units].c_weight.ToDisplay(args->GetInt64()); int64 args_array[1] = {_units[_settings_game.locale.units].c_weight.ToDisplay(args->GetInt64())};
StringParameters tmp_params(args_array);
buff = FormatString(buff, GetStringPtr(_units[_settings_game.locale.units].s_weight), &tmp_params, modifier >> 24, last); buff = FormatString(buff, GetStringPtr(_units[_settings_game.locale.units].s_weight), &tmp_params, modifier >> 24, last);
modifier = 0; modifier = 0;
break; break;
} }
case SCC_FORCE: { // {FORCE} case SCC_FORCE: { // {FORCE}
int64 args_array[1];
StringParameters tmp_params(args_array);
assert(_settings_game.locale.units < lengthof(_units)); assert(_settings_game.locale.units < lengthof(_units));
args_array[0] = _units[_settings_game.locale.units].c_force.ToDisplay(args->GetInt64()); int64 args_array[1] = {_units[_settings_game.locale.units].c_force.ToDisplay(args->GetInt64())};
StringParameters tmp_params(args_array);
buff = FormatString(buff, GetStringPtr(_units[_settings_game.locale.units].force), &tmp_params, modifier >> 24, last); buff = FormatString(buff, GetStringPtr(_units[_settings_game.locale.units].force), &tmp_params, modifier >> 24, last);
modifier = 0; modifier = 0;
break; break;
@ -1039,10 +1029,8 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
if (wp->name != NULL) { if (wp->name != NULL) {
buff = strecpy(buff, wp->name, last); buff = strecpy(buff, wp->name, last);
} else { } else {
int64 args_array[2]; int64 args_array[] = {wp->town->index, wp->town_cn + 1};
StringParameters tmp_params(args_array); StringParameters tmp_params(args_array);
args_array[0] = wp->town->index;
args_array[1] = wp->town_cn + 1;
StringID str = ((wp->string_id == STR_SV_STNAME_BUOY) ? STR_FORMAT_BUOY_NAME : STR_FORMAT_WAYPOINT_NAME); StringID str = ((wp->string_id == STR_SV_STNAME_BUOY) ? STR_FORMAT_BUOY_NAME : STR_FORMAT_WAYPOINT_NAME);
if (wp->town_cn != 0) str++; if (wp->town_cn != 0) str++;
buff = GetStringWithArgs(buff, str, &tmp_params, last); buff = GetStringWithArgs(buff, str, &tmp_params, last);
@ -1079,11 +1067,8 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
} }
} }
int64 args_array[3]; int64 args_array[] = {STR_TOWN_NAME, st->town->index, st->index};
StringParameters tmp_params(args_array); StringParameters tmp_params(args_array);
args_array[0] = STR_TOWN_NAME;
args_array[1] = st->town->index;
args_array[2] = st->index;
buff = GetStringWithArgs(buff, str, &tmp_params, last); buff = GetStringWithArgs(buff, str, &tmp_params, last);
} }
break; break;
@ -1092,7 +1077,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
case SCC_DEPOT_NAME: { // {DEPOT} case SCC_DEPOT_NAME: { // {DEPOT}
VehicleType vt = (VehicleType)args->GetInt32(SCC_DEPOT_NAME); VehicleType vt = (VehicleType)args->GetInt32(SCC_DEPOT_NAME);
if (vt == VEH_AIRCRAFT) { if (vt == VEH_AIRCRAFT) {
int64 args_array[] = { args->GetInt32() }; int64 args_array[] = {args->GetInt32()};
StringParameters tmp_params(args_array); StringParameters tmp_params(args_array);
buff = GetStringWithArgs(buff, STR_FORMAT_DEPOT_NAME_AIRCRAFT, &tmp_params, last); buff = GetStringWithArgs(buff, STR_FORMAT_DEPOT_NAME_AIRCRAFT, &tmp_params, last);
break; break;
@ -1102,7 +1087,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
if (d->name != NULL) { if (d->name != NULL) {
buff = strecpy(buff, d->name, last); buff = strecpy(buff, d->name, last);
} else { } else {
int64 args_array[] = { d->town->index, d->town_cn + 1 }; int64 args_array[] = {d->town->index, d->town_cn + 1};
StringParameters tmp_params(args_array); StringParameters tmp_params(args_array);
buff = GetStringWithArgs(buff, STR_FORMAT_DEPOT_NAME_TRAIN + 2 * vt + (d->town_cn == 0 ? 0 : 1), &tmp_params, last); buff = GetStringWithArgs(buff, STR_FORMAT_DEPOT_NAME_TRAIN + 2 * vt + (d->town_cn == 0 ? 0 : 1), &tmp_params, last);
} }
@ -1130,7 +1115,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
if (g->name != NULL) { if (g->name != NULL) {
buff = strecpy(buff, g->name, last); buff = strecpy(buff, g->name, last);
} else { } else {
int64 args_array[] = { g->index }; int64 args_array[] = {g->index};
StringParameters tmp_params(args_array); StringParameters tmp_params(args_array);
buff = GetStringWithArgs(buff, STR_FORMAT_GROUP_NAME, &tmp_params, last); buff = GetStringWithArgs(buff, STR_FORMAT_GROUP_NAME, &tmp_params, last);
@ -1161,8 +1146,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
if (v->name != NULL) { if (v->name != NULL) {
buff = strecpy(buff, v->name, last); buff = strecpy(buff, v->name, last);
} else { } else {
int64 args_array[1]; int64 args_array[] = {v->unitnumber};
args_array[0] = v->unitnumber;
StringParameters tmp_params(args_array); StringParameters tmp_params(args_array);
StringID str; StringID str;
@ -1196,8 +1180,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
if (c->name != NULL) { if (c->name != NULL) {
buff = strecpy(buff, c->name, last); buff = strecpy(buff, c->name, last);
} else { } else {
int64 args_array[1]; int64 args_array[] = {c->name_2};
args_array[0] = c->name_2;
StringParameters tmp_params(args_array); StringParameters tmp_params(args_array);
buff = GetStringWithArgs(buff, c->name_1, &tmp_params, last); buff = GetStringWithArgs(buff, c->name_1, &tmp_params, last);
} }
@ -1209,8 +1192,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
/* Nothing is added for AI or inactive companies */ /* Nothing is added for AI or inactive companies */
if (Company::IsValidHumanID(company)) { if (Company::IsValidHumanID(company)) {
int64 args_array[1]; int64 args_array[] = {company + 1};
args_array[0] = company + 1;
StringParameters tmp_params(args_array); StringParameters tmp_params(args_array);
buff = GetStringWithArgs(buff, STR_FORMAT_COMPANY_NUM, &tmp_params, last); buff = GetStringWithArgs(buff, STR_FORMAT_COMPANY_NUM, &tmp_params, last);
} }
@ -1223,8 +1205,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
if (c->president_name != NULL) { if (c->president_name != NULL) {
buff = strecpy(buff, c->president_name, last); buff = strecpy(buff, c->president_name, last);
} else { } else {
int64 args_array[1]; int64 args_array[] = {c->president_name_2};
args_array[0] = c->president_name_2;
StringParameters tmp_params(args_array); StringParameters tmp_params(args_array);
buff = GetStringWithArgs(buff, c->president_name_1, &tmp_params, last); buff = GetStringWithArgs(buff, c->president_name_1, &tmp_params, last);
} }

Loading…
Cancel
Save