diff --git a/base/applications/cmdutils/label/label.c b/base/applications/cmdutils/label/label.c index b4e829d3106..6011f3d3549 100644 --- a/base/applications/cmdutils/label/label.c +++ b/base/applications/cmdutils/label/label.c @@ -102,6 +102,43 @@ IsValidPathName(LPCWSTR pszPath) } +static +BOOL +PromptYesNo(VOID) +{ + WCHAR szOptions[4]; + WCHAR szInput[16]; + BOOL bResult = FALSE; + + LoadString(GetModuleHandle(NULL), STRING_LABEL_OPTIONS, szOptions, ARRAYSIZE(szOptions)); + + for (;;) + { + ConPuts(StdOut, L"\n"); + ConResPuts(StdOut, STRING_LABEL_PROMPT); + + ConInString(szInput, ARRAYSIZE(szInput)); + + if (towupper(szInput[0]) == szOptions[0]) + { + bResult = TRUE; + break; + } + else if (towupper(szInput[0]) == szOptions[1]) + { + bResult = FALSE; + break; + } + + ConPuts(StdOut, L"\n"); + } + + ConPuts(StdOut, L"\n"); + + return bResult; +} + + int wmain(int argc, WCHAR *argv[]) { WCHAR szRootPath[] = L" :\\"; @@ -204,6 +241,12 @@ int wmain(int argc, WCHAR *argv[]) ConInString(szLabel, ARRAYSIZE(szLabel)); ConPuts(StdOut, L"\n"); + + if (wcslen(szLabel) == 0) + { + if (PromptYesNo() == FALSE) + return 0; + } } if (!SetVolumeLabelW(szRootPath, szLabel)) diff --git a/base/applications/cmdutils/label/lang/cs-CZ.rc b/base/applications/cmdutils/label/lang/cs-CZ.rc index 145ea84c4c7..251d3f805e0 100644 --- a/base/applications/cmdutils/label/lang/cs-CZ.rc +++ b/base/applications/cmdutils/label/lang/cs-CZ.rc @@ -15,6 +15,8 @@ LABEL [drive:][label]\n\n\ STRING_LABEL_TEXT2 "Volume in drive %c: has no label\n" STRING_LABEL_TEXT3 "Volume Serial Number is %04X-%04X\n" STRING_LABEL_TEXT4 "Volume label (32 Characters, ENTER if none)? " + STRING_LABEL_PROMPT "Delete current volume label (Y/N)? " + STRING_LABEL_OPTIONS "YN" STRING_ERROR_INVALID_DRIVE "Neplatná specifikace jednotky\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n" END diff --git a/base/applications/cmdutils/label/lang/de-DE.rc b/base/applications/cmdutils/label/lang/de-DE.rc index 3b1121b201d..128b366d645 100644 --- a/base/applications/cmdutils/label/lang/de-DE.rc +++ b/base/applications/cmdutils/label/lang/de-DE.rc @@ -12,6 +12,8 @@ LABEL [Laufwerk:][Bezeichnung]\n\n\ STRING_LABEL_TEXT2 "Volume in Laufwerk %c: hat keine Bezeichnung\n" STRING_LABEL_TEXT3 "Volumenummer: %04X-%04X\n" STRING_LABEL_TEXT4 "Volumebezeichnung (32 Zeichen, EINGABETASTE für keine)? " + STRING_LABEL_PROMPT "Aktuelle Volumebezeichnung löschen (J/N)? " + STRING_LABEL_OPTIONS "JN" STRING_ERROR_INVALID_DRIVE "Ungültige Laufwerksangaben\n" STRING_ERROR_INVALID_LABEL "Unzulässige Volumebezeichnung\n" END diff --git a/base/applications/cmdutils/label/lang/el-GR.rc b/base/applications/cmdutils/label/lang/el-GR.rc index d724d95166c..c941987f904 100644 --- a/base/applications/cmdutils/label/lang/el-GR.rc +++ b/base/applications/cmdutils/label/lang/el-GR.rc @@ -16,6 +16,8 @@ LABEL [drive:][label]\n\n\ STRING_LABEL_TEXT2 "Volume in drive %c: has no label\n" STRING_LABEL_TEXT3 "Volume Serial Number is %04X-%04X\n" STRING_LABEL_TEXT4 "Volume label (32 Characters, ENTER if none)? " + STRING_LABEL_PROMPT "Delete current volume label (Y/N)? " + STRING_LABEL_OPTIONS "YN" STRING_ERROR_INVALID_DRIVE "Invalid drive specification\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n" END diff --git a/base/applications/cmdutils/label/lang/en-US.rc b/base/applications/cmdutils/label/lang/en-US.rc index f3665681eeb..9c55f55ce20 100644 --- a/base/applications/cmdutils/label/lang/en-US.rc +++ b/base/applications/cmdutils/label/lang/en-US.rc @@ -10,6 +10,8 @@ LABEL [drive:][label]\n\n\ STRING_LABEL_TEXT2 "Volume in drive %c: has no label\n" STRING_LABEL_TEXT3 "Volume Serial Number is %04X-%04X\n" STRING_LABEL_TEXT4 "Volume label (32 characters, ENTER if none)? " + STRING_LABEL_PROMPT "Delete current volume label (Y/N)? " + STRING_LABEL_OPTIONS "YN" STRING_ERROR_INVALID_DRIVE "Invalid drive specification\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n" END diff --git a/base/applications/cmdutils/label/lang/es-ES.rc b/base/applications/cmdutils/label/lang/es-ES.rc index 522965934da..a6c2bdb8690 100644 --- a/base/applications/cmdutils/label/lang/es-ES.rc +++ b/base/applications/cmdutils/label/lang/es-ES.rc @@ -13,6 +13,8 @@ LABEL [drive:][label]\n\n\ STRING_LABEL_TEXT2 "El volumen en la unidad %c: no tiene etiqueta\n" STRING_LABEL_TEXT3 "El número de serie del volumen es %04X-%04X\n" STRING_LABEL_TEXT4 "Etiqueta del volumen (32 Caracteres, INTRO para ninguna)? " + STRING_LABEL_PROMPT "Delete current volume label (Y/N)? " + STRING_LABEL_OPTIONS "YN" STRING_ERROR_INVALID_DRIVE "Especificación de unidad errónea\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n" END diff --git a/base/applications/cmdutils/label/lang/fr-FR.rc b/base/applications/cmdutils/label/lang/fr-FR.rc index 859f140290f..8c56fce96fa 100644 --- a/base/applications/cmdutils/label/lang/fr-FR.rc +++ b/base/applications/cmdutils/label/lang/fr-FR.rc @@ -13,6 +13,8 @@ LABEL [drive:][label]\n\n\ STRING_LABEL_TEXT2 "Le disque %c: n'a pas de nom de volume\n" STRING_LABEL_TEXT3 "Le numéro de serie du volume est %04X-%04X\n" STRING_LABEL_TEXT4 "Nom de volume (32 Caractères, ENTREE si aucun) ? " + STRING_LABEL_PROMPT "Delete current volume label (Y/N)? " + STRING_LABEL_OPTIONS "YN" STRING_ERROR_INVALID_DRIVE "Lecteur spécifié introuvable\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n" END diff --git a/base/applications/cmdutils/label/lang/hu-HU.rc b/base/applications/cmdutils/label/lang/hu-HU.rc index 49b51a7afee..ce2f033c3bc 100644 --- a/base/applications/cmdutils/label/lang/hu-HU.rc +++ b/base/applications/cmdutils/label/lang/hu-HU.rc @@ -14,6 +14,8 @@ LABEL [drive:][label]\n\n\ STRING_LABEL_TEXT2 "A (%c) megjajtóban lévõ kötetnek nincs címkéje.\n" STRING_LABEL_TEXT3 "A kötet sorozatszáma %04X-%04X\n" STRING_LABEL_TEXT4 "Új kötetcímke (32 betû, ENTER ha üres)? " + STRING_LABEL_PROMPT "Delete current volume label (Y/N)? " + STRING_LABEL_OPTIONS "YN" STRING_ERROR_INVALID_DRIVE "Érvénytelen meghajtó\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n" END diff --git a/base/applications/cmdutils/label/lang/id-ID.rc b/base/applications/cmdutils/label/lang/id-ID.rc index 18200374fd4..2aaf3435942 100644 --- a/base/applications/cmdutils/label/lang/id-ID.rc +++ b/base/applications/cmdutils/label/lang/id-ID.rc @@ -13,6 +13,8 @@ LABEL [drive:][label]\n\n\ STRING_LABEL_TEXT2 "Volume di drive %c: tidak berlabel\n" STRING_LABEL_TEXT3 "Nomor Seri Volume adalah %04X-%04X\n" STRING_LABEL_TEXT4 "Label Drive (32 Karakter, ENTER jika sudah)? " + STRING_LABEL_PROMPT "Delete current volume label (Y/N)? " + STRING_LABEL_OPTIONS "YN" STRING_ERROR_INVALID_DRIVE "Spesifikasi drive tidak benar\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n" END diff --git a/base/applications/cmdutils/label/lang/it-IT.rc b/base/applications/cmdutils/label/lang/it-IT.rc index 3d5bd687b4f..1e971b240f3 100644 --- a/base/applications/cmdutils/label/lang/it-IT.rc +++ b/base/applications/cmdutils/label/lang/it-IT.rc @@ -12,6 +12,8 @@ LABEL [drive:][label]\n\n\ STRING_LABEL_TEXT2 "Il Volume nel disco %c: non ha etichetta\n" STRING_LABEL_TEXT3 "Il numero di serie del Volume è %04X-%04X\n" STRING_LABEL_TEXT4 "Etichetta del disco (32 Caratteri, INVIO per nessuna)? " + STRING_LABEL_PROMPT "Delete current volume label (Y/N)? " + STRING_LABEL_OPTIONS "YN" STRING_ERROR_INVALID_DRIVE "Disco non valido\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n" END diff --git a/base/applications/cmdutils/label/lang/ja-JP.rc b/base/applications/cmdutils/label/lang/ja-JP.rc index 87909fa82dd..5182180384d 100644 --- a/base/applications/cmdutils/label/lang/ja-JP.rc +++ b/base/applications/cmdutils/label/lang/ja-JP.rc @@ -11,6 +11,8 @@ LABEL [drive:][label]\n\n\ STRING_LABEL_TEXT2 "ドライブ %c: にはボリューム ラベルがありませんl\n" STRING_LABEL_TEXT3 "ボリューム シリアル番号は %04X-%04X\n です" STRING_LABEL_TEXT4 "ボリューム ラベルを 32 文字以内で入力してください。\n必要なければ Enter キーを押してください: " + STRING_LABEL_PROMPT "Delete current volume label (Y/N)? " + STRING_LABEL_OPTIONS "YN" STRING_ERROR_INVALID_DRIVE "無効なドライブ指定です。\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n" END diff --git a/base/applications/cmdutils/label/lang/no-NO.rc b/base/applications/cmdutils/label/lang/no-NO.rc index cc5d7019707..04c0e4754aa 100644 --- a/base/applications/cmdutils/label/lang/no-NO.rc +++ b/base/applications/cmdutils/label/lang/no-NO.rc @@ -11,6 +11,8 @@ LABEL [drive:][label]\n\n\ STRING_LABEL_TEXT2 "Volumet i stasjon %c: er uten navn\n" STRING_LABEL_TEXT3 "Volumserienummeret er %04X-%04X\n" STRING_LABEL_TEXT4 "Volumnavn (32 tegn, Enter = intet navn)? " + STRING_LABEL_PROMPT "Delete current volume label (Y/N)? " + STRING_LABEL_OPTIONS "YN" STRING_ERROR_INVALID_DRIVE "Ugyldig stasjon angitt\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n" END diff --git a/base/applications/cmdutils/label/lang/pl-PL.rc b/base/applications/cmdutils/label/lang/pl-PL.rc index 9c94d9b7fb4..0a8bc124466 100644 --- a/base/applications/cmdutils/label/lang/pl-PL.rc +++ b/base/applications/cmdutils/label/lang/pl-PL.rc @@ -20,6 +20,8 @@ LABEL [drive:][label]\n\n\ STRING_LABEL_TEXT2 "Wolumin w napędzie %c: nie posiada etykiety\n" STRING_LABEL_TEXT3 "Numer seryjny woluminu to: %04X-%04X\n" STRING_LABEL_TEXT4 "Podaj etykietę (0-32 znaków, ENTER = brak etykiety) " + STRING_LABEL_PROMPT "Delete current volume label (Y/N)? " + STRING_LABEL_OPTIONS "YN" STRING_ERROR_INVALID_DRIVE "Nieprawidłowe określenie napędu\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n" END diff --git a/base/applications/cmdutils/label/lang/ro-RO.rc b/base/applications/cmdutils/label/lang/ro-RO.rc index 3885ab76bc0..0529cd30aa5 100644 --- a/base/applications/cmdutils/label/lang/ro-RO.rc +++ b/base/applications/cmdutils/label/lang/ro-RO.rc @@ -13,6 +13,8 @@ LABEL [drive:][label]\n\n\ STRING_LABEL_TEXT2 "Volumul unității %c: nu este etichetat.\n" STRING_LABEL_TEXT3 "Numărul de serie al volumului este %04X-%04X\n" STRING_LABEL_TEXT4 "Introduceți eticheta unității (opțională, de 32 caractere), apoi ENTER " + STRING_LABEL_PROMPT "Delete current volume label (Y/N)? " + STRING_LABEL_OPTIONS "YN" STRING_ERROR_INVALID_DRIVE "Specificarea unității este eronată\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n" END diff --git a/base/applications/cmdutils/label/lang/ru-RU.rc b/base/applications/cmdutils/label/lang/ru-RU.rc index c2e03f6c090..f3b8e08f66a 100644 --- a/base/applications/cmdutils/label/lang/ru-RU.rc +++ b/base/applications/cmdutils/label/lang/ru-RU.rc @@ -13,6 +13,8 @@ LABEL [drive:][label]\n\n\ STRING_LABEL_TEXT2 "Том в устройстве %c: не имеет метки\n" STRING_LABEL_TEXT3 "Серийный номер тома: %04X-%04X\n" STRING_LABEL_TEXT4 "Метка тома (32 букв, ВВОД для пустой метки)? " + STRING_LABEL_PROMPT "Delete current volume label (Y/N)? " + STRING_LABEL_OPTIONS "YN" STRING_ERROR_INVALID_DRIVE "Неверное определение диска\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n" END diff --git a/base/applications/cmdutils/label/lang/sk-SK.rc b/base/applications/cmdutils/label/lang/sk-SK.rc index 399cdc5abf6..a7d7376679d 100644 --- a/base/applications/cmdutils/label/lang/sk-SK.rc +++ b/base/applications/cmdutils/label/lang/sk-SK.rc @@ -17,6 +17,8 @@ LABEL [drive:][label]\n\n\ STRING_LABEL_TEXT2 "Volume in drive %c: has no label\n" STRING_LABEL_TEXT3 "Volume Serial Number is %04X-%04X\n" STRING_LABEL_TEXT4 "Volume label (32 Characters, ENTER if none)? " + STRING_LABEL_PROMPT "Delete current volume label (Y/N)? " + STRING_LABEL_OPTIONS "YN" STRING_ERROR_INVALID_DRIVE "Invalid drive specification\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n" END diff --git a/base/applications/cmdutils/label/lang/sq-AL.rc b/base/applications/cmdutils/label/lang/sq-AL.rc index 556f76b6a44..9b6e89c5231 100644 --- a/base/applications/cmdutils/label/lang/sq-AL.rc +++ b/base/applications/cmdutils/label/lang/sq-AL.rc @@ -15,6 +15,8 @@ LABEL [drive:][label]\n\n\ STRING_LABEL_TEXT2 "Volumi në drive %c: has no label\n" STRING_LABEL_TEXT3 "Numri Serial i Volumit është %04X-%04X\n" STRING_LABEL_TEXT4 "Volume label (32 Characters, ENTER if none)? " + STRING_LABEL_PROMPT "Delete current volume label (Y/N)? " + STRING_LABEL_OPTIONS "YN" STRING_ERROR_INVALID_DRIVE "Specifikimi i drivit invalid\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n" END diff --git a/base/applications/cmdutils/label/lang/sv-SE.rc b/base/applications/cmdutils/label/lang/sv-SE.rc index e147b59678a..131cfd15128 100644 --- a/base/applications/cmdutils/label/lang/sv-SE.rc +++ b/base/applications/cmdutils/label/lang/sv-SE.rc @@ -11,6 +11,8 @@ LABEL [drive:][label]\n\n\ STRING_LABEL_TEXT2 "Volymen i enhet %c: är utan namn\n" STRING_LABEL_TEXT3 "Volymens serienummer är %04X-%04X\n" STRING_LABEL_TEXT4 "Volymnamn (32 tecken, Enter = inget namn)? " + STRING_LABEL_PROMPT "Delete current volume label (Y/N)? " + STRING_LABEL_OPTIONS "YN" STRING_ERROR_INVALID_DRIVE "Ogiltig enhet angiven\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n" END diff --git a/base/applications/cmdutils/label/lang/tr-TR.rc b/base/applications/cmdutils/label/lang/tr-TR.rc index 491a84f045e..74da1a5e5e7 100644 --- a/base/applications/cmdutils/label/lang/tr-TR.rc +++ b/base/applications/cmdutils/label/lang/tr-TR.rc @@ -13,6 +13,8 @@ LABEL [drive:][label]\n\n\ STRING_LABEL_TEXT2 "%c sürücüsünde birimin etiketi yok\n" STRING_LABEL_TEXT3 "Birim Dizilik Numarası %04X-%04X\n" STRING_LABEL_TEXT4 "Sürücü etiketi (32 damga, yok için Giriş)? " + STRING_LABEL_PROMPT "Delete current volume label (Y/N)? " + STRING_LABEL_OPTIONS "YN" STRING_ERROR_INVALID_DRIVE "Geçersiz sürücü belirtmesi.\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n" END diff --git a/base/applications/cmdutils/label/lang/uk-UA.rc b/base/applications/cmdutils/label/lang/uk-UA.rc index 43ecd9f3d59..4f1ca0ce539 100644 --- a/base/applications/cmdutils/label/lang/uk-UA.rc +++ b/base/applications/cmdutils/label/lang/uk-UA.rc @@ -19,6 +19,8 @@ LABEL [drive:][label]\n\n\ STRING_LABEL_TEXT2 "Том в пристрої %c: не має мiтки\n" STRING_LABEL_TEXT3 "Серiйний номер тому: %04X-%04X\n" STRING_LABEL_TEXT4 "Мiтка тому (32 букв, ENTER без мiтки)? " + STRING_LABEL_PROMPT "Delete current volume label (Y/N)? " + STRING_LABEL_OPTIONS "YN" STRING_ERROR_INVALID_DRIVE "Невiрне визначення диску\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n" END diff --git a/base/applications/cmdutils/label/lang/zh-CN.rc b/base/applications/cmdutils/label/lang/zh-CN.rc index f3961d109e2..a4eea705b4f 100644 --- a/base/applications/cmdutils/label/lang/zh-CN.rc +++ b/base/applications/cmdutils/label/lang/zh-CN.rc @@ -13,6 +13,8 @@ LABEL [drive:][label]\n\n\ STRING_LABEL_TEXT2 "驱动器 %c 中的卷没有卷标。\n" STRING_LABEL_TEXT3 "卷的序列号是 %04X-%04X\n" STRING_LABEL_TEXT4 "驱动器卷标 (32 个字符, 按 ENTER 忽略)? " + STRING_LABEL_PROMPT "Delete current volume label (Y/N)? " + STRING_LABEL_OPTIONS "YN" STRING_ERROR_INVALID_DRIVE "无效驱动器指定\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n" END diff --git a/base/applications/cmdutils/label/lang/zh-TW.rc b/base/applications/cmdutils/label/lang/zh-TW.rc index 5abebec41fc..5b7503b2443 100644 --- a/base/applications/cmdutils/label/lang/zh-TW.rc +++ b/base/applications/cmdutils/label/lang/zh-TW.rc @@ -14,6 +14,8 @@ LABEL [drive:][label]\n\n\ STRING_LABEL_TEXT2 "驅動器 %c 中的卷沒有卷標。\n" STRING_LABEL_TEXT3 "卷的序列號是 %04X-%04X\n" STRING_LABEL_TEXT4 "驅動器卷標 (32 個字元, 按 ENTER 忽略)? " + STRING_LABEL_PROMPT "Delete current volume label (Y/N)? " + STRING_LABEL_OPTIONS "YN" STRING_ERROR_INVALID_DRIVE "無效驅動器指定\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n" END \ No newline at end of file diff --git a/base/applications/cmdutils/label/resource.h b/base/applications/cmdutils/label/resource.h index 00ead3093a8..864a0c95184 100644 --- a/base/applications/cmdutils/label/resource.h +++ b/base/applications/cmdutils/label/resource.h @@ -2,11 +2,13 @@ #define RC_STRING_MAX_SIZE 3072 -#define STRING_LABEL_HELP 661 -#define STRING_LABEL_TEXT1 662 -#define STRING_LABEL_TEXT2 663 -#define STRING_LABEL_TEXT3 664 -#define STRING_LABEL_TEXT4 665 +#define STRING_LABEL_HELP 661 +#define STRING_LABEL_TEXT1 662 +#define STRING_LABEL_TEXT2 663 +#define STRING_LABEL_TEXT3 664 +#define STRING_LABEL_TEXT4 665 +#define STRING_LABEL_PROMPT 666 +#define STRING_LABEL_OPTIONS 667 #define STRING_ERROR_INVALID_DRIVE 106 #define STRING_ERROR_INVALID_LABEL 107