From 9cea0fdddebe79aa1b34ce8e99f39b1f0845b31a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Sun, 24 Sep 2006 12:50:51 +0000 Subject: [PATCH] Display available file systems in usage screen svn path=/trunk/; revision=24253 --- reactos/base/system/format/De.rc | 2 +- reactos/base/system/format/En.rc | 2 +- reactos/base/system/format/Fr.rc | 8 ++-- reactos/base/system/format/Hu.rc | 2 +- reactos/base/system/format/Ja.rc | 2 +- reactos/base/system/format/No.rc | 2 +- reactos/base/system/format/format.c | 67 ++++++++++++++++++++++------- 7 files changed, 61 insertions(+), 24 deletions(-) diff --git a/reactos/base/system/format/De.rc b/reactos/base/system/format/De.rc index c018dba8fd7..53bce37afd7 100644 --- a/reactos/base/system/format/De.rc +++ b/reactos/base/system/format/De.rc @@ -14,7 +14,7 @@ STRINGTABLE DISCARDABLE STRING_HELP, "Usage: %S drive: [-FS:file-system] [-V:label] [-Q] [-A:size] [-C]\n\n\ [Datenträger:] Legt das Laufwerk zum Formatieren fest.\n\ - -FS:file-system Legt das Dateisystem fest (z.B. FAT).\n\ + -FS:file-system Legt das Dateisystem fest (%s).\n\ -V:label Legt den Datentraegernamen fest.\n\ -Q Fuehre Schnellformatierung durch.\n\ -A:size Ueberschreibe Anweisung fuer Standartblockgroesse. Es wird dringend\n\ diff --git a/reactos/base/system/format/En.rc b/reactos/base/system/format/En.rc index 039ee42003d..3cfc9dbdd9a 100644 --- a/reactos/base/system/format/En.rc +++ b/reactos/base/system/format/En.rc @@ -9,7 +9,7 @@ STRINGTABLE DISCARDABLE { STRING_HELP, "Usage: %S drive: [-FS:file-system] [-V:label] [-Q] [-A:size] [-C]\n\n\ [drive:] Specifies the drive to format.\n\ - -FS:file-system Specifies the type of file system (e.g. FAT).\n\ + -FS:file-system Specifies the type of file system (%s).\n\ -V:label Specifies volume label.\n\ -Q Performs a quick format.\n\ -A:size Overrides the default allocation unit size. Default settings\n\ diff --git a/reactos/base/system/format/Fr.rc b/reactos/base/system/format/Fr.rc index f63b971e023..c687c41b8c5 100644 --- a/reactos/base/system/format/Fr.rc +++ b/reactos/base/system/format/Fr.rc @@ -12,11 +12,11 @@ LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL STRINGTABLE DISCARDABLE { STRING_HELP, "Utilisation : %S disque: [-FS:systčme de fichier] [-V:nom] [-Q] [-A:taille] [-C]\n\n\ - [disque:] Indique le disque ŕ formater.\n\ - -FS:systčme de fichier Indique le type de systčme de fichier (p.e. FAT).\n\ - -V:nom Détermine le nom du disque.\n\ + [disque:] Indique le disque ŕ formater.\n\ + -FS:systčme de fichier Indique le type de systčme de fichier (%s).\n\ + -V:nom Détermine le nom du disque.\n\ -Q Effectue un formatage rapide.\n\ - -A:taille Force une taille pour les unités d'allocations. Les valeurs par défaut\n\ + -A:taille Force une taille pour les unités d'allocations. Les valeurs par défaut\n\ sont fortement recommandées pour une utilisation courante\n\ NTFS peut utiliser 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K.\n\ FAT peut utiliser 8192, 16K, 32K, 64K, 128K, 256K.\n\ diff --git a/reactos/base/system/format/Hu.rc b/reactos/base/system/format/Hu.rc index d15faf7245a..e29b7906ff5 100644 --- a/reactos/base/system/format/Hu.rc +++ b/reactos/base/system/format/Hu.rc @@ -10,7 +10,7 @@ STRINGTABLE DISCARDABLE { STRING_HELP, "Használat: %S kötet: [-FS:állományrendszer] [-V:címke] [-Q] [-A:méret] [-C]\n\n\ [kötet:] A meghajtóbetűjelet adja meg (kettősponttal a végén).\n\ - -FS:állományrendszer Az állományrendszer típusát adja meg (pl.: FAT).\n\ + -FS:állományrendszer Az állományrendszer típusát adja meg (%s).\n\ -V:címke A Kötetcímke neve.\n\ -Q Gyorsformázást hajt végre.\n\ -A:méret Felülbírálja az alapértelmezett szektorcsoport-\n\ diff --git a/reactos/base/system/format/Ja.rc b/reactos/base/system/format/Ja.rc index 8778d48fbce..8b5e1ac1375 100644 --- a/reactos/base/system/format/Ja.rc +++ b/reactos/base/system/format/Ja.rc @@ -10,7 +10,7 @@ STRINGTABLE DISCARDABLE STRING_HELP, "Žg—p–@: %S ƒhƒ‰ƒCƒu: [-FS:ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€] [-V:ƒ‰ƒxƒ‹] [-Q] [-A:ƒTƒCƒY] [-C]\n\n\ [ƒhƒ‰ƒCƒu:] ƒtƒH[ƒ}ƒbƒg‚ˇ‚éƒhƒ‰ƒCƒu‚đŽw’č‚ľ‚Ü‚ˇB\n\ -FS:ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€\n\ - ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ĚŽí—Ţ‚đŽw’č‚ľ‚Ü‚ˇ (—á: FAT)B\n\ + ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ĚŽí—Ţ‚đŽw’č‚ľ‚Ü‚ˇ (%s)B\n\ -V:ƒ‰ƒxƒ‹ ƒ{ƒŠƒ…[ƒ€ ƒ‰ƒxƒ‹‚đŽw’č‚ľ‚Ü‚ˇB\n\ -Q ƒNƒCƒbƒN ƒtƒH[ƒ}ƒbƒg‚đŽŔs‚ľ‚Ü‚ˇB\n\ -A:ƒTƒCƒY ‹K’č‚ĚƒAƒƒP[ƒVƒ‡ƒ“ ƒ†ƒjƒbƒg ƒTƒCƒY‚đă‘‚Ť‚ľ‚Ü‚ˇB\n\ diff --git a/reactos/base/system/format/No.rc b/reactos/base/system/format/No.rc index 198db869d33..8d71d4a4017 100644 --- a/reactos/base/system/format/No.rc +++ b/reactos/base/system/format/No.rc @@ -9,7 +9,7 @@ STRINGTABLE DISCARDABLE { STRING_HELP, "bruk: %S stasjon: [-FS:fil-system] [-V:merke] [-Q] [-A:střrrelse] [-C]\n\n\ [stasjon:] Spesifisere stasjon til formater.\n\ - -FS:file-system Spesifisere typen av fil system (f.eks. FAT).\n\ + -FS:file-system Spesifisere typen av fil system (%s).\n\ -V:merke Spesifisere volum merke.\n\ -Q Fullfřre en rask formatering.\n\ -A:střrrelse Dominerende standard fordeling enhet střrrelse. Standard innstilling\n\ diff --git a/reactos/base/system/format/format.c b/reactos/base/system/format/format.c index ea4de4d6e84..3e970647296 100755 --- a/reactos/base/system/format/format.c +++ b/reactos/base/system/format/format.c @@ -69,21 +69,6 @@ static VOID PrintWin32Error( LPTSTR Message, DWORD ErrorCode ) } -//---------------------------------------------------------------------- -// -// Usage -// -// Tell the user how to use the program -// -//---------------------------------------------------------------------- -static VOID Usage( LPTSTR ProgramName ) -{ - TCHAR szMsg[RC_STRING_MAX_SIZE]; - LoadString( GetModuleHandle(NULL), STRING_HELP, (LPTSTR) szMsg,RC_STRING_MAX_SIZE); - _tprintf(szMsg, ProgramName); -} - - //---------------------------------------------------------------------- // // ParseCommandLine @@ -245,9 +230,61 @@ BOOLEAN LoadFMIFSEntryPoints() return FALSE; } + + if( !((void *) GetProcAddress( hFmifs, + "QueryAvailableFileSystemFormat" )) ) { + + return FALSE; + } + return TRUE; } + +//---------------------------------------------------------------------- +// +// Usage +// +// Tell the user how to use the program +// +//---------------------------------------------------------------------- +static VOID Usage( LPTSTR ProgramName ) +{ + TCHAR szMsg[RC_STRING_MAX_SIZE]; + TCHAR szFormats[MAX_PATH]; +#ifndef UNICODE + TCHAR szFormatA[MAX_PATH]; +#endif + WCHAR szFormatW[MAX_PATH]; + DWORD Index = 0; + BYTE dummy; + BOOLEAN lastestVersion; + + LoadString( GetModuleHandle(NULL), STRING_HELP, (LPTSTR) szMsg,RC_STRING_MAX_SIZE); + if (!LoadFMIFSEntryPoints()) + { + _tprintf(szMsg, ProgramName, ""); + return; + } + + szFormats[0] = 0; + while (QueryAvailableFileSystemFormat(Index++, szFormatW, &dummy, &dummy, &lastestVersion)) + { + if (!lastestVersion) + continue; + if (szFormats[0]) + _tcscat(szFormats, _T(", ")); +#ifdef UNICODE + _tcscat(szFormats, szFormatW); +#else + if (0 != WideCharToMultiByte(CP_ACP, 0, szFormatW, -1, szFormatA, sizeof(szFormatA), NULL, NULL)) + _tcscat(szFormats, szFormatA); +#endif + } + _tprintf(szMsg, ProgramName, szFormats); +} + + //---------------------------------------------------------------------- // // WMain