[CMD][BOOTDATA] Minor improvements (#5745)

* Remove a hardcoded copyright string and move into localizable resources.
* Remove the PROMPT environment variable from clean installs of ReactOS. By default, the command prompt uses $P$G (path + '>') as its prompt settings and does not require this environment variable. Clean installs of Windows Server 2003 do not include this environment variable either. I documented this environment variable in our wiki if anyone would like to set it on their own ReactOS installs.
* Remove the new line above the copyright notice when the information line is turned off.

CORE-16193, CORE-17031
This commit is contained in:
Carl J. Bialorucki 2024-05-09 10:03:43 -06:00 committed by GitHub
parent 57b775ef6e
commit 190b3da95d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
29 changed files with 59 additions and 15 deletions

View file

@ -2299,11 +2299,15 @@ Initialize(VOID)
if (!*ptr)
{
/* If neither /C or /K was given, display a simple version string */
ConOutChar(_T('\n'));
/* Insert a new line above the copyright notice if we are drawing the information line. */
if (HasInfoLine())
ConOutChar('\n');
ConOutResPrintf(STRING_REACTOS_VERSION,
_T(KERNEL_VERSION_STR),
_T(KERNEL_VERSION_BUILD_STR));
ConOutPuts(_T("(C) Copyright 1998-") _T(COPYRIGHT_YEAR) _T(" ReactOS Team.\n"));
ConOutResPrintf(STRING_CMD_COPYRIGHT, _T(COPYRIGHT_YEAR));
}
if (AutoRun)

View file

@ -434,6 +434,7 @@ INT cmd_path (LPTSTR);
VOID InitPrompt (VOID);
VOID PrintPrompt (VOID);
INT cmd_prompt (LPTSTR);
BOOL HasInfoLine(VOID);
/* Prototypes for REDIR.C */
HANDLE GetHandle(UINT Number);

View file

@ -532,6 +532,7 @@ title new title\n"
STRING_REPLACE_ERROR6 "Nebyly nazeleny žádné soubory - %s\n"
STRING_REPLACE_ERROR7 "Rozšířená chyba 32\n"
STRING_CMD_INFOLINE " ReactOS Příkazový řádek Napsání HELP = Nápověda "
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Verze %s %s]\n"
STRING_CMD_SHELLINFO "\nReactOS Interpret příkazového řádku\nVerze %s %s"
STRING_VERSION_RUNNING_ON "Běží na: "

View file

@ -528,6 +528,7 @@ Titel neuer Titel"
STRING_REPLACE_ERROR6 "Keine Dateien gefunden - %s\n"
STRING_REPLACE_ERROR7 "Erweiterter Fehler 32\n"
STRING_CMD_INFOLINE " ReactOS Eingabeaufforderung HELP eingeben = Hilfe "
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Version %s %s]\n"
STRING_CMD_SHELLINFO "\nReactOS Eingabeaufforderung\nVersion %s %s"
STRING_VERSION_RUNNING_ON "Läuft in: "

View file

@ -531,6 +531,7 @@ title new title\n"
STRING_REPLACE_ERROR6 "Δε βρέθηκαν αρχεία - %s\n"
STRING_REPLACE_ERROR7 "Extended Error 32\n"
STRING_CMD_INFOLINE " ReactOS Command Prompt Type HELP = Help "
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Version %s %s]\n"
STRING_CMD_SHELLINFO "\nReactOS Command Line Interpreter\nVersion %s %s"
STRING_VERSION_RUNNING_ON "Running on: "

View file

@ -527,6 +527,7 @@ title new title\n"
STRING_REPLACE_ERROR6 "No files found - %s\n"
STRING_REPLACE_ERROR7 "Extended Error 32\n"
STRING_CMD_INFOLINE " ReactOS Command Prompt Type HELP = Help "
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Version %s %s]\n"
STRING_CMD_SHELLINFO "\nReactOS Command Line Interpreter\nVersion %s %s"
STRING_VERSION_RUNNING_ON "Running on: "

View file

@ -535,6 +535,7 @@ title Nuevo título\n"
STRING_REPLACE_ERROR6 "No se han encontrado archivos - %s\n"
STRING_REPLACE_ERROR7 "Error extendido 32\n"
STRING_CMD_INFOLINE " Consola de comandos de ReactOS Escribe HELP para ver la ayuda "
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Versión %s %s]\n"
STRING_CMD_SHELLINFO "\nIntérprete de comandos de ReactOS\nVersion %s %s"
STRING_VERSION_RUNNING_ON "Funcionando en: "

View file

@ -543,6 +543,7 @@ titre titre de la fenêtre"
STRING_REPLACE_ERROR6 "Aucun fichier trouvé - %s\n"
STRING_REPLACE_ERROR7 "Erreur étendue 32\n"
STRING_CMD_INFOLINE " ReactOS Command Prompt Type HELP = Help "
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Version %s %s]\n"
STRING_CMD_SHELLINFO "\nInterpréteur de ligne de commandes ReactOS\nVersion %s %s"
STRING_VERSION_RUNNING_ON "Fonctionnant sous: "

View file

@ -519,6 +519,7 @@ title új cím\n"
STRING_REPLACE_ERROR6 "Nem találhatóak fájlok - %s\n"
STRING_REPLACE_ERROR7 "Kiterjesztett hiba 32\n"
STRING_CMD_INFOLINE " ReactOS Parancssor HELP parancs = Súgó "
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Version %s %s]\n"
STRING_CMD_SHELLINFO "\nReactOS Parancssor értelmező\nVersion %s %s"
STRING_VERSION_RUNNING_ON "Ezen fut: "

View file

@ -526,6 +526,7 @@ title judul baru\n"
STRING_REPLACE_ERROR6 "No files found - %s\n"
STRING_REPLACE_ERROR7 "Extended Error 32\n"
STRING_CMD_INFOLINE " ReactOS Command Prompt Type HELP = Help "
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Versi %s %s]\n"
STRING_CMD_SHELLINFO "\nInterpreter Baris Perintah ReactOS\nVersi %s %s"
STRING_VERSION_RUNNING_ON "Berjalan pada: "

View file

@ -536,6 +536,7 @@ titolo il nuovo titolo\n"
STRING_REPLACE_ERROR6 "Nessun file trovato - %s\n"
STRING_REPLACE_ERROR7 "Errore esteso 32\n"
STRING_CMD_INFOLINE " ReactOS Command Prompt Type HELP = Help "
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Version %s %s]\n"
STRING_CMD_SHELLINFO "\nInterprete di linea di comando di ReactOS\nVersion %s %s"
STRING_VERSION_RUNNING_ON "In esecuzione su: "

View file

@ -534,6 +534,7 @@ RESTORE ウィンドウを元のサイズに戻します。\n\
STRING_REPLACE_ERROR6 "No files found - %s\n"
STRING_REPLACE_ERROR7 "Extended Error 32\n"
STRING_CMD_INFOLINE " ReactOS Command Prompt Type HELP = Help "
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Version %s %s]\n"
STRING_CMD_SHELLINFO "\nReactOS Command Line Interpreter\nVersion %s %s"
STRING_VERSION_RUNNING_ON "Running on: "

View file

@ -525,6 +525,7 @@ tittel ny tittel\n"
STRING_REPLACE_ERROR6 "Ingen filer ble funnet - %s\n"
STRING_REPLACE_ERROR7 "Extended Error 32\n"
STRING_CMD_INFOLINE " ReactOS Command Prompt Type HELP = Help "
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Versjon %s %s]\n"
STRING_CMD_SHELLINFO "\nReactOS Kommandotolk\nVersjon %s %s"
STRING_VERSION_RUNNING_ON "Kjører på: "

View file

@ -532,6 +532,7 @@ title nowy tytuł okna\n"
STRING_REPLACE_ERROR6 "Nie znaleziono plików - %s\n"
STRING_REPLACE_ERROR7 "Extended Error 32 - Błąd współdzielenia\n"
STRING_CMD_INFOLINE " Wiersz polecenia ReactOS Type HELP = Help "
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Wersja %s %s]\n"
STRING_CMD_SHELLINFO "\nInterpreter linii poleceń ReactOS\nWersja %s %s"
STRING_VERSION_RUNNING_ON "Działający na: "

View file

@ -555,6 +555,7 @@ título Novo título\n"
STRING_REPLACE_ERROR6 "Nenhum arquivo encontrado - %s\n"
STRING_REPLACE_ERROR7 "Erro estendido 32\n"
STRING_CMD_INFOLINE "Prompt de comandos do ReactOS \tHELP = Ajuda"
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Versão %s %s]\n"
STRING_CMD_SHELLINFO "\nReactOS Interpretador de linha de comando\nVersão %s %s"
STRING_VERSION_RUNNING_ON "Em execução em:"

View file

@ -548,6 +548,7 @@ título Novo título\n"
STRING_REPLACE_ERROR6 "Nenhum ficheiro encontrado - %s\n"
STRING_REPLACE_ERROR7 "Erro estendido 32\n"
STRING_CMD_INFOLINE "Tipo de prompt de comando do ReactOS HELP = Ajuda"
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Versão %s %s]\n"
STRING_CMD_SHELLINFO "\nReactOS Intérprete de linha de comando\nVersão %s %s"
STRING_VERSION_RUNNING_ON "Em execução em:"

View file

@ -566,6 +566,7 @@ titlu Noul titlu.\n"
STRING_REPLACE_ERROR6 "Fișierele nu au fost găsite - %s\n"
STRING_REPLACE_ERROR7 "Eroare extinsă 32\n"
STRING_CMD_INFOLINE " Interpretorul de comenzi ReactOS Tastați HELP = Ajutor "
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Versiunea %s %s]\n"
STRING_CMD_SHELLINFO "\nInterpretorul de comenzi ReactOS\nVersiunea %s %s"
STRING_VERSION_RUNNING_ON "Operând pe: "

View file

@ -544,6 +544,7 @@ RESTORE восстанавливает окно\n\
STRING_REPLACE_ERROR6 "Не найдено файлов - %s\n"
STRING_REPLACE_ERROR7 "Расширенная ошибка 32\n"
STRING_CMD_INFOLINE " ReactOS Командная строка Введите HELP для Справки "
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Версия %s %s]\n"
STRING_CMD_SHELLINFO "\nИнтерпретатор командной строки ReactOS\nВерсия %s %s"
STRING_VERSION_RUNNING_ON "Запущен на: "

View file

@ -533,6 +533,7 @@ title new title\n"
STRING_REPLACE_ERROR6 "Žiadne súbory sa nenašli - %s\n"
STRING_REPLACE_ERROR7 "Extended Error 32\n"
STRING_CMD_INFOLINE " ReactOS Command Prompt Type HELP = Help "
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Verzia %s %s]\n"
STRING_CMD_SHELLINFO "\nInterpréter príkazového riadku systému ReactOS\nVerzia %s %s"
STRING_VERSION_RUNNING_ON "Running on: "

View file

@ -531,6 +531,7 @@ title titull i ri\n"
STRING_REPLACE_ERROR6 "Nuk u gjet dokumenti - %s\n"
STRING_REPLACE_ERROR7 "Error i zgjatur 32\n"
STRING_CMD_INFOLINE " ReactOS Command Prompt Type HELP = Help "
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Versioni %s %s]\n"
STRING_CMD_SHELLINFO "\nReactOS Interpretuesi i komandave\nVersioni %s %s"
STRING_VERSION_RUNNING_ON "Funksionon në: "

View file

@ -525,6 +525,7 @@ tittel ny tittel\n"
STRING_REPLACE_ERROR6 "Ingna filer hittades - %s\n"
STRING_REPLACE_ERROR7 "Extended Error 32\n"
STRING_CMD_INFOLINE " ReactOS Command Prompt Type HELP = Help "
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Version %s %s]\n"
STRING_CMD_SHELLINFO "\nReactOS Kommandotolk\nVersion %s %s"
STRING_VERSION_RUNNING_ON "Körs på: "

View file

@ -520,6 +520,7 @@ başlık pencere için yeni başlık\n"
STRING_REPLACE_ERROR6 "Hiçbir dosya bulunamadı - %s\n"
STRING_REPLACE_ERROR7 "Genişletilmiş Hata 32\n"
STRING_CMD_INFOLINE " ReactOS Komut Satırı Yardım için, HELP yazın"
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Sürüm %s %s]\n"
STRING_CMD_SHELLINFO "\nReactOS Komut Satırı Yorumlayıcısı\nSürüm %s %s"
STRING_VERSION_RUNNING_ON "Üzerinde Çalışıyor: "

View file

@ -537,6 +537,7 @@ title новий заголовок\n"
STRING_REPLACE_ERROR6 "Файли не знайдено - %s\n"
STRING_REPLACE_ERROR7 "Розширена помилка 32\n"
STRING_CMD_INFOLINE " Командний рядок ReactOS Введіть HELP = Допомога "
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [Версiя %s %s]\n"
STRING_CMD_SHELLINFO "\nIнтерпретатор командного рядка ReactOS\nVersion %s %s"
STRING_VERSION_RUNNING_ON "Запущений на: "

View file

@ -500,6 +500,7 @@ RESTORE 恢复窗口\n\
STRING_REPLACE_ERROR6 "没有文件被发现 - %s\n"
STRING_REPLACE_ERROR7 "扩展错误 32\n"
STRING_CMD_INFOLINE " ReactOS 命令行解释器 输入 HELP = 帮助 "
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [版本 %s %s]\n"
STRING_CMD_SHELLINFO "\nReactOS 命令行解释器\n版本 %s %s"
STRING_VERSION_RUNNING_ON "在 上运行"

View file

@ -504,6 +504,7 @@ RESTORE 恢復視窗\n\
STRING_REPLACE_ERROR6 "找不到檔案 - %s\n"
STRING_REPLACE_ERROR7 "擴展錯誤 32\n"
STRING_CMD_INFOLINE " ReactOS 命令列直譯器 輸入 HELP = 說明 "
STRING_CMD_COPYRIGHT "(C) Copyright 1996-%s ReactOS Team.\n"
STRING_REACTOS_VERSION "ReactOS [版本 %s %s]\n"
STRING_CMD_SHELLINFO "\nReactOS 命令列直譯器\n版本 %s %s"
STRING_VERSION_RUNNING_ON "在 上運行"

View file

@ -66,6 +66,31 @@ VOID InitPrompt(VOID)
SetEnvironmentVariable(_T("PROMPT"), DefaultPrompt);
}
/*
* Checks if information line should be displayed.
*/
BOOL HasInfoLine(VOID)
{
LPTSTR pr;
TCHAR szPrompt[256];
if (GetEnvironmentVariable(_T("PROMPT"), szPrompt, _countof(szPrompt)))
{
pr = szPrompt;
while (*pr)
{
if (*pr++ != _T('$'))
continue;
if (!*pr || _totupper(*pr++) != _T('I'))
continue;
return TRUE;
}
}
return FALSE;
}
/*
* Print an information line on top of the screen.
*/
@ -121,17 +146,8 @@ VOID PrintPrompt(VOID)
* Special pre-handling for $I: If the information line is displayed
* on top of the screen, ensure that the prompt won't be hidden below it.
*/
for (pr = Prompt; *pr;)
{
if (*pr++ != _T('$'))
continue;
if (!*pr || _totupper(*pr++) != _T('I'))
continue;
if (GetCursorY() == 0)
ConOutChar(_T('\n'));
break;
}
if (HasInfoLine() && GetCursorY() == 0)
ConOutChar(_T('\n'));
/* Parse the prompt string */
for (pr = Prompt; *pr; ++pr)

View file

@ -86,6 +86,7 @@
#define STRING_CTTY_HELP 618
#define STRING_CMD_INFOLINE 620
#define STRING_CMD_COPYRIGHT 621
#define STRING_REACTOS_VERSION 623
#define STRING_CMD_SHELLINFO 624

View file

@ -145,7 +145,7 @@ INT cmd_ver (LPTSTR param)
{
ConOutPuts(_T("\n\n"));
ConOutPuts(_T("Copyright (C) 1994-1998 Tim Norman and others.\n"));
ConOutPuts(_T("Copyright (C) 1998-") _T(COPYRIGHT_YEAR) _T(" ReactOS Team\n"));
ConOutResPrintf(STRING_CMD_COPYRIGHT, _T(COPYRIGHT_YEAR));
for (i = 0; param[i]; i++)
{

View file

@ -1521,7 +1521,6 @@ HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices","PRN",0x0000
HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Environment","ComSpec",0x00020002,"%SystemRoot%\system32\cmd.exe"
HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Environment","Path",0x00020002,"%SystemRoot%\bin;%SystemRoot%\System32;%SystemRoot%;%SystemRoot%\System32\Wbem"
HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Environment","PATHEXT",0x00000002,".COM;.EXE;.BAT;.CMD"
HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Environment","PROMPT",0x00000002,"$P$G$I"
HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Environment","TEMP",0x00020002,"%SystemRoot%\TEMP"
HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Environment","TMP",0x00020002,"%SystemRoot%\TEMP"
HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Environment","windir",0x00020002,"%SystemRoot%"