[CMD]: Continue refactoring to lay out the way to using the CONUTILS library in CMD...
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sat, 30 Sep 2017 19:52:30 +0000 (19:52 +0000)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sat, 30 Sep 2017 19:52:30 +0000 (19:52 +0000)
svn path=/trunk/; revision=76007

reactos/base/shell/cmd/console.c
reactos/base/shell/cmd/console.h
reactos/base/shell/cmd/error.c

index d18ee04..06892fc 100644 (file)
@@ -139,7 +139,7 @@ VOID ConInString(LPTSTR lpInput, DWORD dwLength)
 
 /******************** Console STREAM OUT utility functions ********************/
 
-static VOID ConWrite(TCHAR *str, DWORD len, DWORD nStdHandle)
+static VOID ConWrite(DWORD nStdHandle, TCHAR *str, DWORD len)
 {
     DWORD dwNumBytes = 0;
     HANDLE hOutput = GetStdHandle(nStdHandle);
@@ -260,26 +260,26 @@ static VOID ConWrite(TCHAR *str, DWORD len, DWORD nStdHandle)
     }
 }
 
-VOID ConOutChar(TCHAR c)
+VOID ConPuts(DWORD nStdHandle, LPTSTR szText)
 {
-    ConWrite(&c, 1, STD_OUTPUT_HANDLE);
+    ConWrite(nStdHandle, szText, (DWORD)_tcslen(szText));
 }
 
-VOID ConPuts(LPTSTR szText, DWORD nStdHandle)
+VOID ConResPuts(DWORD nStdHandle, UINT resID)
 {
-    ConWrite(szText, (DWORD)_tcslen(szText), nStdHandle);
+    TCHAR szMsg[RC_STRING_MAX_SIZE];
+    LoadString(CMD_ModuleHandle, resID, szMsg, ARRAYSIZE(szMsg));
+    ConPuts(nStdHandle, szMsg);
 }
 
-VOID ConOutResPuts(UINT resID)
+VOID ConOutChar(TCHAR c)
 {
-    TCHAR szMsg[RC_STRING_MAX_SIZE];
-    LoadString(CMD_ModuleHandle, resID, szMsg, ARRAYSIZE(szMsg));
-    ConPuts(szMsg, STD_OUTPUT_HANDLE);
+    ConWrite(STD_OUTPUT_HANDLE, &c, 1);
 }
 
-VOID ConOutPuts(LPTSTR szText)
+VOID ConErrChar(TCHAR c)
 {
-    ConPuts(szText, STD_OUTPUT_HANDLE);
+    ConWrite(STD_ERROR_HANDLE, &c, 1);
 }
 
 VOID ConPrintfV(DWORD nStdHandle, LPTSTR szFormat, va_list arg_ptr)
@@ -288,41 +288,31 @@ VOID ConPrintfV(DWORD nStdHandle, LPTSTR szFormat, va_list arg_ptr)
     DWORD len;
 
     len = (DWORD)_vstprintf(szOut, szFormat, arg_ptr);
-    ConWrite(szOut, len, nStdHandle);
+    ConWrite(nStdHandle, szOut, len);
 }
 
-VOID ConErrFormatMessage(DWORD MessageId, ...)
+VOID ConPrintf(DWORD nStdHandle, LPTSTR szFormat, ...)
 {
-    TCHAR szMsg[RC_STRING_MAX_SIZE];
-    DWORD ret;
-    LPTSTR text;
     va_list arg_ptr;
 
-    va_start(arg_ptr, MessageId);
-    ret = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
-                        NULL,
-                        MessageId,
-                        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
-                        (LPTSTR) &text,
-                        0,
-                        &arg_ptr);
-
+    va_start(arg_ptr, szFormat);
+    ConPrintfV(nStdHandle, szFormat, arg_ptr);
     va_end(arg_ptr);
-    if (ret > 0)
-    {
-        ConErrPuts(text);
-        LocalFree(text);
-    }
-    else
-    {
-        LoadString(CMD_ModuleHandle, STRING_CONSOLE_ERROR, szMsg, ARRAYSIZE(szMsg));
-        ConErrPrintf(szMsg);
-    }
 }
 
-VOID ConOutFormatMessage(DWORD MessageId, ...)
+VOID ConResPrintf(DWORD nStdHandle, UINT resID, ...)
 {
     TCHAR szMsg[RC_STRING_MAX_SIZE];
+    va_list arg_ptr;
+
+    va_start(arg_ptr, resID);
+    LoadString(CMD_ModuleHandle, resID, szMsg, ARRAYSIZE(szMsg));
+    ConPrintfV(nStdHandle, szMsg, arg_ptr);
+    va_end(arg_ptr);
+}
+
+VOID ConFormatMessage(DWORD nStdHandle, DWORD MessageId, ...)
+{
     DWORD ret;
     LPTSTR text;
     va_list arg_ptr;
@@ -332,80 +322,22 @@ VOID ConOutFormatMessage(DWORD MessageId, ...)
                         NULL,
                         MessageId,
                         MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
-                        (LPTSTR) &text,
+                        (LPTSTR)&text,
                         0,
                         &arg_ptr);
-
     va_end(arg_ptr);
+
     if (ret > 0)
     {
-        ConErrPuts(text);
+        ConPuts(nStdHandle, text);
         LocalFree(text);
     }
     else
     {
-        LoadString(CMD_ModuleHandle, STRING_CONSOLE_ERROR, szMsg, ARRAYSIZE(szMsg));
-        ConErrPrintf(szMsg);
+        ConResPrintf(nStdHandle, STRING_CONSOLE_ERROR, MessageId);
     }
 }
 
-VOID ConOutResPrintf(UINT resID, ...)
-{
-    TCHAR szMsg[RC_STRING_MAX_SIZE];
-    va_list arg_ptr;
-
-    va_start(arg_ptr, resID);
-    LoadString(CMD_ModuleHandle, resID, szMsg, ARRAYSIZE(szMsg));
-    ConPrintfV(STD_OUTPUT_HANDLE, szMsg, arg_ptr);
-    va_end(arg_ptr);
-}
-
-VOID ConOutPrintf(LPTSTR szFormat, ...)
-{
-    va_list arg_ptr;
-
-    va_start(arg_ptr, szFormat);
-    ConPrintfV(STD_OUTPUT_HANDLE, szFormat, arg_ptr);
-    va_end(arg_ptr);
-}
-
-VOID ConErrChar(TCHAR c)
-{
-    ConWrite(&c, 1, STD_ERROR_HANDLE);
-}
-
-VOID ConErrResPuts(UINT resID)
-{
-    TCHAR szMsg[RC_STRING_MAX_SIZE];
-    LoadString(CMD_ModuleHandle, resID, szMsg, ARRAYSIZE(szMsg));
-    ConPuts(szMsg, STD_ERROR_HANDLE);
-}
-
-VOID ConErrPuts(LPTSTR szText)
-{
-    ConPuts(szText, STD_ERROR_HANDLE);
-}
-
-VOID ConErrResPrintf(UINT resID, ...)
-{
-    TCHAR szMsg[RC_STRING_MAX_SIZE];
-    va_list arg_ptr;
-
-    va_start(arg_ptr, resID);
-    LoadString(CMD_ModuleHandle, resID, szMsg, ARRAYSIZE(szMsg));
-    ConPrintfV(STD_ERROR_HANDLE, szMsg, arg_ptr);
-    va_end(arg_ptr);
-}
-
-VOID ConErrPrintf(LPTSTR szFormat, ...)
-{
-    va_list arg_ptr;
-
-    va_start(arg_ptr, szFormat);
-    ConPrintfV(STD_ERROR_HANDLE, szFormat, arg_ptr);
-    va_end(arg_ptr);
-}
-
 
 
 /************************** Console PAGER functions ***************************/
index cc35e56..189a6f2 100644 (file)
@@ -17,17 +17,51 @@ VOID ConInFlush (VOID);
 VOID ConInKey (PINPUT_RECORD);
 VOID ConInString (LPTSTR, DWORD);
 
+
 VOID ConOutChar (TCHAR);
-VOID ConOutPuts (LPTSTR);
+VOID ConErrChar (TCHAR);
 VOID ConPrintfV(DWORD, LPTSTR, va_list);
+
+VOID ConPuts(DWORD nStdHandle, LPTSTR szText);
+VOID ConPrintf(DWORD nStdHandle, LPTSTR szFormat, ...);
+VOID ConResPuts(DWORD nStdHandle, UINT resID);
+VOID ConResPrintf(DWORD nStdHandle, UINT resID, ...);
+VOID ConFormatMessage(DWORD nStdHandle, DWORD MessageId, ...);
+
+#define ConOutPuts(szStr) \
+    ConPuts(STD_OUTPUT_HANDLE, (szStr))
+
+#define ConErrPuts(szStr) \
+    ConPuts(STD_ERROR_HANDLE, (szStr))
+
+#define ConOutResPuts(uID) \
+    ConResPuts(STD_OUTPUT_HANDLE, (uID))
+
+#define ConErrResPuts(uID) \
+    ConResPuts(STD_ERROR_HANDLE, (uID))
+
+#define ConOutPrintf(szStr, ...) \
+    ConPrintf(STD_OUTPUT_HANDLE, (szStr), ##__VA_ARGS__)
+
+#define ConErrPrintf(szStr, ...) \
+    ConPrintf(STD_ERROR_HANDLE, (szStr), ##__VA_ARGS__)
+
+#define ConOutResPrintf(uID, ...) \
+    ConResPrintf(STD_OUTPUT_HANDLE, (uID), ##__VA_ARGS__)
+
+#define ConErrResPrintf(uID, ...) \
+    ConResPrintf(STD_ERROR_HANDLE, (uID), ##__VA_ARGS__)
+
+#define ConOutFormatMessage(MessageId, ...) \
+    ConFormatMessage(STD_OUTPUT_HANDLE, (MessageId), ##__VA_ARGS__)
+
+#define ConErrFormatMessage(MessageId, ...) \
+    ConFormatMessage(STD_ERROR_HANDLE, (MessageId), ##__VA_ARGS__)
+
+
 INT ConPrintfVPaging(DWORD nStdHandle, BOOL, LPTSTR, va_list);
-VOID ConOutPrintf (LPTSTR, ...);
 INT ConOutPrintfPaging (BOOL NewPage, LPTSTR, ...);
-VOID ConErrChar (TCHAR);
-VOID ConErrPuts (LPTSTR);
-VOID ConErrPrintf (LPTSTR, ...);
-VOID ConOutFormatMessage (DWORD MessageId, ...);
-VOID ConErrFormatMessage (DWORD MessageId, ...);
+VOID ConOutResPaging(BOOL NewPage, UINT resID);
 
 SHORT GetCursorX  (VOID);
 SHORT GetCursorY  (VOID);
@@ -37,12 +71,6 @@ VOID  SetCursorXY (SHORT, SHORT);
 VOID GetScreenSize (PSHORT, PSHORT);
 VOID SetCursorType (BOOL, BOOL);
 
-VOID ConOutResPuts (UINT resID);
-VOID ConErrResPuts (UINT resID);
-VOID ConOutResPrintf (UINT resID, ...);
-VOID ConErrResPrintf (UINT resID, ...);
-VOID ConOutResPaging(BOOL NewPage, UINT resID);
-
 
 BOOL ConSetTitle(IN LPCTSTR lpConsoleTitle);
 
index d07250e..92f08a0 100644 (file)
@@ -53,6 +53,7 @@ VOID ErrorMessage (DWORD dwErrorCode, LPTSTR szFormat, ...)
     }
 
     /* Fall back just in case the error is not defined */
+    LoadString(CMD_ModuleHandle, STRING_CONSOLE_ERROR, szMsg, ARRAYSIZE(szMsg));
     if (szFormat)
         ConErrPrintf(_T("%s -- %s\n"), szMsg, szMessage);
     else