changeset 14179:11c99e48d60b draft

(svn r18727) -Fix [FS#3480]: some invalid gender/plural indices in strings, which could eventually cause crashes.
author rubidium <rubidium@openttd.org>
date Mon, 04 Jan 2010 21:58:47 +0000 (2010-01-04)
parents e02ce213bb0f
children 57cbbcd68f43
files src/lang/croatian.txt src/lang/french.txt src/lang/greek.txt src/lang/italian.txt src/lang/korean.txt src/lang/russian.txt src/strgen/strgen.cpp
diffstat 7 files changed, 20 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/src/lang/croatian.txt
+++ b/src/lang/croatian.txt
@@ -1829,8 +1829,8 @@
 STR_NETWORK_ERROR_CLIENT_NAME_IN_USE                            :ime se već koristi
 STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD                         :pogrešna zaporka
 STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH                       :krivi id tvrtke u DoCommand
-STR_NETWORK_ERROR_CLIENT_KICKED                                 :izbačen{G "" a o} od strane poslužitelja
-STR_NETWORK_ERROR_CLIENT_CHEATER                                :je pokuša{G o la lo} varati
+STR_NETWORK_ERROR_CLIENT_KICKED                                 :izbačen od strane poslužitelja
+STR_NETWORK_ERROR_CLIENT_CHEATER                                :je pokušao varati
 STR_NETWORK_ERROR_CLIENT_SERVER_FULL                            :poslužitelj je pun
 ############ End of leave-in-this-order
 
--- a/src/lang/french.txt
+++ b/src/lang/french.txt
@@ -2471,7 +2471,7 @@
 # Station list window
 STR_STATION_LIST_TOOLTIP                                        :{BLACK}Nom des stations - Cliquer sur un nom pour centrer la vue sur la station. Ctrl-clic pour ouvrir une nouvelle vue sur la station
 STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE                        :{BLACK}Cliquer avec Ctrl pour sélectionner plus d'un élément
-STR_STATION_LIST_CAPTION                                        :{WHITE}{COMPANY} - {COMMA} Station{P 2 "" s}
+STR_STATION_LIST_CAPTION                                        :{WHITE}{COMPANY} - {COMMA} Station{P 1 "" s}
 STR_STATION_LIST_STATION                                        :{YELLOW}{STATION} {STATIONFEATURES}
 STR_STATION_LIST_WAYPOINT                                       :{YELLOW}{WAYPOINT}
 STR_STATION_LIST_NONE                                           :{YELLOW}- Aucun -
--- a/src/lang/greek.txt
+++ b/src/lang/greek.txt
@@ -1113,7 +1113,7 @@
 STR_NUM_LOW                                                     :Χαμηλό
 STR_NUM_NORMAL                                                  :Κανονικό
 STR_NUM_HIGH                                                    :Υψηλό
-STR_NUM_CUSTOM                                                  :Προσαρμοσμέν{G ος η ο}
+STR_NUM_CUSTOM                                                  :Προσαρμοσμένος
 
 STR_VARIETY_NONE                                                :Καθόλου
 STR_VARIETY_VERY_LOW                                            :Πολύ Χαμηλό
@@ -2531,7 +2531,7 @@
 STR_LOCAL_AUTHORITY_ACTIONS_TITLE                               :{BLACK}Διαθέσιμες πράξεις:
 STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP                             :{BLACK}Λίστα πραγμάτων που πρέπει να γίνουν σε αυτή την πόλη - κάντε κλικ στο αντικείμενο για πληροφορίες
 STR_LOCAL_AUTHORITY_DO_IT_BUTTON                                :{BLACK}Κάνε το
-STR_LOCAL_AUTHORITY_DO_IT_TOOLTIP                               :{BLACK}Διενέργεια της επιλεγμένης πράξης στην παραπάνω λίστα
+STR_LOCAL_AUTHORITY_DO_IT_TOOLTIP                               :{BLACK}Διενέργεια της επιλεγμέ�ης πράξης στην παραπάνω λίστα
 
 STR_LOCAL_AUTHORITY_ACTION_SMALL_ADVERTISING_CAMPAIGN           :Μικρή διαφημιστική καμπάνια
 STR_LOCAL_AUTHORITY_ACTION_MEDIUM_ADVERTISING_CAMPAIGN          :Μεσαία διαφημιστική καμπάνια
--- a/src/lang/italian.txt
+++ b/src/lang/italian.txt
@@ -2472,7 +2472,7 @@
 # Station list window
 STR_STATION_LIST_TOOLTIP                                        :{BLACK}Nomi delle stazioni - fare clic su un nome per centrare la visuale sulla stazione. CTRL+clic la mostra in una mini visuale.
 STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE                        :{BLACK}Tenere premuto CTRL per selezionare più di un elemento
-STR_STATION_LIST_CAPTION                                        :{WHITE}{COMPANY} - {COMMA} stazion{P 2 e i}
+STR_STATION_LIST_CAPTION                                        :{WHITE}{COMPANY} - {COMMA} stazion{P 1 e i}
 STR_STATION_LIST_STATION                                        :{YELLOW}{STATION} {STATIONFEATURES}
 STR_STATION_LIST_WAYPOINT                                       :{YELLOW}{WAYPOINT}
 STR_STATION_LIST_NONE                                           :{YELLOW}- Nessuna -
@@ -2625,10 +2625,10 @@
 STR_CONFIG_GAME_PRODUCTION                                      :{WHITE}Cambia produzione (multiplo di 8, fino a 2040)
 
 # Vehicle lists
-STR_VEHICLE_LIST_TRAIN_CAPTION                                  :{WHITE}{STRING} - {COMMA} tren{P 2 o i}
-STR_VEHICLE_LIST_ROAD_VEHICLE_CAPTION                           :{WHITE}{STRING} - {COMMA} automezz{P 2 o i}
-STR_VEHICLE_LIST_SHIP_CAPTION                                   :{WHITE}{STRING} - {COMMA} nav{P 2 e i}
-STR_VEHICLE_LIST_AIRCRAFT_CAPTION                               :{WHITE}{STRING} - {COMMA} aeromobil{P 2 e i}
+STR_VEHICLE_LIST_TRAIN_CAPTION                                  :{WHITE}{STRING} - {COMMA} tren{P 1 o i}
+STR_VEHICLE_LIST_ROAD_VEHICLE_CAPTION                           :{WHITE}{STRING} - {COMMA} automezz{P 1 o i}
+STR_VEHICLE_LIST_SHIP_CAPTION                                   :{WHITE}{STRING} - {COMMA} nav{P 1 e i}
+STR_VEHICLE_LIST_AIRCRAFT_CAPTION                               :{WHITE}{STRING} - {COMMA} aeromobil{P 1 e i}
 
 STR_VEHICLE_LIST_TRAIN_LIST_TOOLTIP                             :{BLACK}Treni - fare clic su un treno per informazioni
 STR_VEHICLE_LIST_ROAD_VEHICLE_TOOLTIP                           :{BLACK}Automezzi - fare clic su un veicolo per informazioni
--- a/src/lang/korean.txt
+++ b/src/lang/korean.txt
@@ -2355,11 +2355,11 @@
 STR_NEWGRF_ERROR_MSG_FATAL                                      :{RED}치명적 오류: {SILVER}{STRING}
 STR_NEWGRF_ERROR_FATAL_POPUP                                    :{WHITE}치명적인 NewGRF 오류가 발생했습니다: {}{STRING}
 STR_NEWGRF_ERROR_VERSION_NUMBER                                 :{1:STRING}은 OpenTTD에서 보고된 TTD패치 버전에서 작동하지 않을 것입니다.
-STR_NEWGRF_ERROR_DOS_OR_WINDOWS                                 :{1:STRING}{G 0 "은" "는"} {STRING} 버전의 TTD를 위한 것입니다.
-STR_NEWGRF_ERROR_UNSET_SWITCH                                   :{1:STRING}{G 0 "은" "는"} {STRING}{G 1 "와" "과"} 같이 사용해야 합니다
+STR_NEWGRF_ERROR_DOS_OR_WINDOWS                                 :{1:STRING}{G 1 "은" "는"} {STRING} 버전의 TTD를 위한 것입니다.
+STR_NEWGRF_ERROR_UNSET_SWITCH                                   :{1:STRING}{G 1 "은" "는"} {STRING}{G 1 "와" "과"} 같이 사용해야 합니다
 STR_NEWGRF_ERROR_INVALID_PARAMETER                              :{1:STRING}의 부적절한 파라미터: 파라미터 {STRING} ({NUM})
-STR_NEWGRF_ERROR_LOAD_BEFORE                                    :{1:STRING}{G 0 "은" "는"} 반드시 {STRING} 앞에 불러와야 합니다.
-STR_NEWGRF_ERROR_LOAD_AFTER                                     :{1:STRING}{G 0 "은" "는"} 반드시 {STRING} 뒤에 불러와야 합니다.
+STR_NEWGRF_ERROR_LOAD_BEFORE                                    :{1:STRING}{G 1 "은" "는"} 반드시 {STRING} 앞에 불러와야 합니다.
+STR_NEWGRF_ERROR_LOAD_AFTER                                     :{1:STRING}{G 1 "은" "는"} 반드시 {STRING} 뒤에 불러와야 합니다.
 STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER                            :{1:STRING}는 OpenTTD {STRING} 버전이나 그 이상이 필요합니다.
 STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE                          :GRF 파일 자체는 번역용으로 디자인됨
 STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED                        :NewGRF이 너무 많습니다.
--- a/src/lang/russian.txt
+++ b/src/lang/russian.txt
@@ -1396,7 +1396,7 @@
 STR_CONFIG_SETTING_STARTING_YEAR                                :{LTBLUE}Год начала игры: {ORANGE}{STRING}
 STR_CONFIG_SETTING_SMOOTH_ECONOMY                               :{LTBLUE}Включить плавную экономику (частые, небольшие изменения): {ORANGE}{STRING}
 STR_CONFIG_SETTING_ALLOW_SHARES                                 :{LTBLUE}Разрешить торговлю акциями других компаний: {ORANGE}{STRING}
-STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY                         :{LTBLUE}При установке светофоров линией, ставить кажд{P 1 ую ые ые}: {ORANGE}{STRING} клет{P 1 ку ки ок}
+STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY                         :{LTBLUE}При установке светофоров линией, ставить кажд{P 0 ую ые ые}: {ORANGE}{STRING} клет{P ку ки ок}
 STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE                  :{LTBLUE}Строить семафоры старого стиля: {ORANGE}до {STRING} года
 STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI                            :{LTBLUE}Включить меню выбора сигналов: {ORANGE}{STRING}
 STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE                          :{LTBLUE}Тип сигналов по умолчанию: {ORANGE}{STRING}
--- a/src/strgen/strgen.cpp
+++ b/src/strgen/strgen.cpp
@@ -965,7 +965,11 @@
 	}
 	const CmdStruct *cs = _cur_pcs.cmd[argidx];
 	if (cs != NULL && cs->consumes <= offset) {
-		error("invalid argidx offset %d:%d\n", argidx, offset);
+		error("invalid argidx offset %d:%d", argidx, offset);
+	}
+
+	if (_cur_pcs.cmd[argidx] == NULL) {
+		error("no command for this argidx %d", argidx);
 	}
 
 	for (int i = sum = 0; i < argidx; i++) {