From d5c74ae6fe841863b62722ff5424a1b023761e40 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Sun, 23 Dec 2018 14:16:53 +0100 Subject: [PATCH] [NET] Load netmsg.dll right from the start and print some messages using netmsg.dll rather than local strings. @Translators: Please start translating messages from netmsgmsg.mc and errorcodes.mc (located in sdk\include\reactos\mc). They will be used instead of local strings. --- base/applications/network/net/cmdConfig.c | 2 +- base/applications/network/net/cmdGroup.c | 1 + base/applications/network/net/cmdHelpMsg.c | 17 +------ base/applications/network/net/cmdLocalGroup.c | 1 + base/applications/network/net/cmdStatistics.c | 2 +- base/applications/network/net/cmdUse.c | 4 +- base/applications/network/net/main.c | 51 +++++++++++-------- base/applications/network/net/net.h | 2 + 8 files changed, 38 insertions(+), 42 deletions(-) diff --git a/base/applications/network/net/cmdConfig.c b/base/applications/network/net/cmdConfig.c index 0211b9bfece..df7fce2c960 100644 --- a/base/applications/network/net/cmdConfig.c +++ b/base/applications/network/net/cmdConfig.c @@ -302,7 +302,7 @@ done: NetApiBufferFree(ServerInfo); if (result == 0) - ConResPuts(StdOut, IDS_ERROR_NO_ERROR); + PrintErrorMessage(ERROR_SUCCESS); return result; } \ No newline at end of file diff --git a/base/applications/network/net/cmdGroup.c b/base/applications/network/net/cmdGroup.c index ccb5c6cb04c..4fc1e7e08d3 100644 --- a/base/applications/network/net/cmdGroup.c +++ b/base/applications/network/net/cmdGroup.c @@ -255,6 +255,7 @@ cmdGroup( } else { + PrintErrorMessage(3506/*, argv[i]*/); result = 1; goto done; } diff --git a/base/applications/network/net/cmdHelpMsg.c b/base/applications/network/net/cmdHelpMsg.c index 801def5cce7..faa54d2b6ed 100644 --- a/base/applications/network/net/cmdHelpMsg.c +++ b/base/applications/network/net/cmdHelpMsg.c @@ -13,8 +13,6 @@ INT cmdHelpMsg(INT argc, WCHAR **argv) { - WCHAR szBuffer[MAX_PATH]; - HMODULE hMsgDll = NULL; INT i; LONG errNum; PWSTR endptr; @@ -52,20 +50,9 @@ INT cmdHelpMsg(INT argc, WCHAR **argv) if (errNum >= MIN_LANMAN_MESSAGE_ID && errNum <= MAX_LANMAN_MESSAGE_ID) { - /* Load netmsg.dll */ - GetSystemDirectoryW(szBuffer, ARRAYSIZE(szBuffer)); - wcscat(szBuffer, L"\\netmsg.dll"); - - hMsgDll = LoadLibrary(szBuffer); - if (hMsgDll == NULL) - { - ConPrintf(StdOut, L"Failed to load netmsg.dll\n"); - return 0; - } - FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_ARGUMENT_ARRAY, - hMsgDll, + hModuleNetMsg, errNum, LANG_USER_DEFAULT, (LPWSTR)&pBuffer, @@ -80,8 +67,6 @@ INT cmdHelpMsg(INT argc, WCHAR **argv) { PrintErrorMessage(3871); } - - FreeLibrary(hMsgDll); } else { diff --git a/base/applications/network/net/cmdLocalGroup.c b/base/applications/network/net/cmdLocalGroup.c index 44489b377f2..e6970926eed 100644 --- a/base/applications/network/net/cmdLocalGroup.c +++ b/base/applications/network/net/cmdLocalGroup.c @@ -275,6 +275,7 @@ cmdLocalGroup( } else { + PrintErrorMessage(3506/*, argv[i]*/); result = 1; goto done; } diff --git a/base/applications/network/net/cmdStatistics.c b/base/applications/network/net/cmdStatistics.c index 62bbca716cc..652445ace42 100644 --- a/base/applications/network/net/cmdStatistics.c +++ b/base/applications/network/net/cmdStatistics.c @@ -294,7 +294,7 @@ cmdStatistics( } if (result == 0) - ConResPuts(StdOut, IDS_ERROR_NO_ERROR); + PrintErrorMessage(ERROR_SUCCESS); return result; } \ No newline at end of file diff --git a/base/applications/network/net/cmdUse.c b/base/applications/network/net/cmdUse.c index 59bc580a4d0..1c1c479eff6 100644 --- a/base/applications/network/net/cmdUse.c +++ b/base/applications/network/net/cmdUse.c @@ -109,7 +109,7 @@ cmdUse( { Status = EnumerateConnections(NULL); if (Status == NO_ERROR) - ConResPrintf(StdOut, IDS_ERROR_NO_ERROR); + PrintErrorMessage(ERROR_SUCCESS); else PrintError(Status); @@ -125,7 +125,7 @@ cmdUse( Status = EnumerateConnections(argv[2]); if (Status == NO_ERROR) - ConResPrintf(StdOut, IDS_ERROR_NO_ERROR); + PrintErrorMessage(ERROR_SUCCESS); else PrintError(Status); diff --git a/base/applications/network/net/main.c b/base/applications/network/net/main.c index 0c932a23f39..34637202c74 100644 --- a/base/applications/network/net/main.c +++ b/base/applications/network/net/main.c @@ -45,6 +45,7 @@ COMMAND cmds[] = {NULL, NULL} }; +HMODULE hModuleNetMsg = NULL; VOID @@ -80,28 +81,15 @@ VOID PrintErrorMessage( DWORD dwError) { - WCHAR szDllBuffer[MAX_PATH]; WCHAR szErrorBuffer[16]; - HMODULE hMsgDll = NULL; PWSTR pBuffer; PWSTR pErrorInserts[2] = {NULL, NULL}; - /* Load netmsg.dll */ - GetSystemDirectoryW(szDllBuffer, ARRAYSIZE(szDllBuffer)); - wcscat(szDllBuffer, L"\\netmsg.dll"); - - hMsgDll = LoadLibrary(szDllBuffer); - if (hMsgDll == NULL) - { - ConPrintf(StdErr, L"Failed to load netmsg.dll\n"); - return; - } - if (dwError >= MIN_LANMAN_MESSAGE_ID && dwError <= MAX_LANMAN_MESSAGE_ID) { FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_IGNORE_INSERTS, - hMsgDll, + hModuleNetMsg, dwError, LANG_USER_DEFAULT, (LPWSTR)&pBuffer, @@ -141,7 +129,7 @@ PrintErrorMessage( /* Format and print the 3514 message */ FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_ARGUMENT_ARRAY, - hMsgDll, + hModuleNetMsg, 3514, LANG_USER_DEFAULT, (LPWSTR)&pBuffer, @@ -154,8 +142,6 @@ PrintErrorMessage( pBuffer = NULL; } } - - FreeLibrary(hMsgDll); } @@ -198,29 +184,50 @@ ReadFromConsole( int wmain(int argc, WCHAR **argv) { + WCHAR szDllBuffer[MAX_PATH]; PCOMMAND cmdptr; + int nResult = 0; + BOOL bRun = FALSE; /* Initialize the Console Standard Streams */ ConInitStdStreams(); - if (argc < 2) + /* Load netmsg.dll */ + GetSystemDirectoryW(szDllBuffer, ARRAYSIZE(szDllBuffer)); + wcscat(szDllBuffer, L"\\netmsg.dll"); + + hModuleNetMsg = LoadLibrary(szDllBuffer); + if (hModuleNetMsg == NULL) { - ConResPuts(StdOut, IDS_NET_SYNTAX); + ConPrintf(StdErr, L"Failed to load netmsg.dll\n"); return 1; } + if (argc < 2) + { + nResult = 1; + goto done; + } + /* Scan the command table */ for (cmdptr = cmds; cmdptr->name; cmdptr++) { if (_wcsicmp(argv[1], cmdptr->name) == 0) { - return cmdptr->func(argc, argv); + nResult = cmdptr->func(argc, argv); + bRun = TRUE; + break; } } - ConResPuts(StdOut, IDS_NET_SYNTAX); +done: + if (bRun == FALSE) + ConResPuts(StdOut, IDS_NET_SYNTAX); - return 1; + if (hModuleNetMsg != NULL) + FreeLibrary(hModuleNetMsg); + + return nResult; } INT unimplemented(INT argc, WCHAR **argv) diff --git a/base/applications/network/net/net.h b/base/applications/network/net/net.h index e075a55a6e0..4e2f4a15187 100644 --- a/base/applications/network/net/net.h +++ b/base/applications/network/net/net.h @@ -26,6 +26,8 @@ #include "resource.h" +extern HMODULE hModuleNetMsg; + VOID PrintPaddedResourceString( UINT uID, -- 2.17.1