Author: hbelusca
Date: Sat Sep 30 21:05:49 2017
New Revision: 76008
URL:
http://svn.reactos.org/svn/reactos?rev=76008&view=rev
Log:
[CMD]: Continue refactoring to lay out the way to using the CONUTILS library in CMD. Part
3/x
Modified:
trunk/reactos/base/shell/cmd/cmd.c
trunk/reactos/base/shell/cmd/color.c
trunk/reactos/base/shell/cmd/console.c
trunk/reactos/base/shell/cmd/console.h
trunk/reactos/base/shell/cmd/dir.c
trunk/reactos/base/shell/cmd/type.c
Modified: trunk/reactos/base/shell/cmd/cmd.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/cmd.c?rev=7…
==============================================================================
--- trunk/reactos/base/shell/cmd/cmd.c [iso-8859-1] (original)
+++ trunk/reactos/base/shell/cmd/cmd.c [iso-8859-1] Sat Sep 30 21:05:49 2017
@@ -1956,7 +1956,7 @@
}
if (wDefColor != 0)
- ConSetScreenColor(wDefColor, TRUE);
+ ConSetScreenColor(GetStdHandle(STD_OUTPUT_HANDLE), wDefColor, TRUE);
#endif
if (!*ptr)
Modified: trunk/reactos/base/shell/cmd/color.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/color.c?rev…
==============================================================================
--- trunk/reactos/base/shell/cmd/color.c [iso-8859-1] (original)
+++ trunk/reactos/base/shell/cmd/color.c [iso-8859-1] Sat Sep 30 21:05:49 2017
@@ -46,7 +46,7 @@
/* No parameter: Set the default colors */
if (rest[0] == _T('\0'))
{
- ConSetScreenColor(wDefColor, TRUE);
+ ConSetScreenColor(GetStdHandle(STD_OUTPUT_HANDLE), wDefColor, TRUE);
return 0;
}
@@ -87,7 +87,8 @@
* Set the chosen color. Use also the following advanced flag:
* /-F to avoid changing already buffered foreground/background.
*/
- if (ConSetScreenColor(wColor, !_tcsstr(rest, _T("/-F")) &&
!_tcsstr(rest, _T("/-f"))) == FALSE)
+ if (ConSetScreenColor(GetStdHandle(STD_OUTPUT_HANDLE), wColor,
+ !_tcsstr(rest, _T("/-F")) && !_tcsstr(rest,
_T("/-f"))) == FALSE)
{
/* Failed because foreground and background colors were the same */
ConErrResPuts(STRING_COLOR_ERROR1);
Modified: trunk/reactos/base/shell/cmd/console.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/console.c?r…
==============================================================================
--- trunk/reactos/base/shell/cmd/console.c [iso-8859-1] (original)
+++ trunk/reactos/base/shell/cmd/console.c [iso-8859-1] Sat Sep 30 21:05:49 2017
@@ -21,7 +21,7 @@
#define OUTPUT_BUFFER_SIZE 4096
-
+/* Cache codepage for text streams */
UINT InputCodePage;
UINT OutputCodePage;
@@ -342,7 +342,7 @@
/************************** Console PAGER functions ***************************/
-INT ConPrintfVPaging(DWORD nStdHandle, BOOL NewPage, LPTSTR szFormat, va_list arg_ptr)
+BOOL ConPrintfVPaging(DWORD nStdHandle, BOOL NewPage, LPTSTR szFormat, va_list arg_ptr)
{
INT len;
CONSOLE_SCREEN_BUFFER_INFO csbi;
@@ -366,14 +366,14 @@
/* Reset LineCount and return if no string has been given */
if (szFormat == NULL)
- return 0;
+ return TRUE;
/* Get the size of the visual screen that can be printed to */
if (!IsConsoleHandle(hOutput) || !GetConsoleScreenBufferInfo(hOutput, &csbi))
{
/* We assume it's a file handle */
ConPrintfV(nStdHandle, szFormat, arg_ptr);
- return 0;
+ return TRUE;
}
/*
@@ -387,7 +387,7 @@
if (ScreenLines < 4)
{
ConPrintfV(nStdHandle, szFormat, arg_ptr);
- return 0;
+ return TRUE;
}
len = _vstprintf(szOut, szFormat, arg_ptr);
@@ -408,9 +408,7 @@
/* Prompt the user */
if (PagePrompt() != PROMPT_YES)
- {
- return 1;
- }
+ return FALSE;
// TODO: Recalculate 'ScreenLines' in case the user redimensions
// the window during the prompt.
@@ -422,18 +420,18 @@
WriteConsole(hOutput, &szOut[from], i-from, &dwWritten, NULL);
- return 0;
-}
-
-INT ConOutPrintfPaging(BOOL NewPage, LPTSTR szFormat, ...)
-{
- INT iReturn;
+ return TRUE;
+}
+
+BOOL ConOutPrintfPaging(BOOL NewPage, LPTSTR szFormat, ...)
+{
+ BOOL bRet;
va_list arg_ptr;
va_start(arg_ptr, szFormat);
- iReturn = ConPrintfVPaging(STD_OUTPUT_HANDLE, NewPage, szFormat, arg_ptr);
+ bRet = ConPrintfVPaging(STD_OUTPUT_HANDLE, NewPage, szFormat, arg_ptr);
va_end(arg_ptr);
- return iReturn;
+ return bRet;
}
VOID ConOutResPaging(BOOL NewPage, UINT resID)
@@ -557,9 +555,8 @@
#endif
#ifdef INCLUDE_CMD_COLOR
-BOOL ConSetScreenColor(WORD wColor, BOOL bFill)
-{
- HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
+BOOL ConSetScreenColor(HANDLE hOutput, WORD wColor, BOOL bFill)
+{
DWORD dwWritten;
CONSOLE_SCREEN_BUFFER_INFO csbi;
COORD coPos;
@@ -571,11 +568,11 @@
/* Fill the whole background if needed */
if (bFill)
{
- GetConsoleScreenBufferInfo(hConsole, &csbi);
+ GetConsoleScreenBufferInfo(hOutput, &csbi);
coPos.X = 0;
coPos.Y = 0;
- FillConsoleOutputAttribute(hConsole,
+ FillConsoleOutputAttribute(hOutput,
wColor & 0x00FF,
csbi.dwSize.X * csbi.dwSize.Y,
coPos,
@@ -583,7 +580,7 @@
}
/* Set the text attribute */
- SetConsoleTextAttribute(hConsole, wColor & 0x00FF);
+ SetConsoleTextAttribute(hOutput, wColor & 0x00FF);
return TRUE;
}
#endif
Modified: trunk/reactos/base/shell/cmd/console.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/console.h?r…
==============================================================================
--- trunk/reactos/base/shell/cmd/console.h [iso-8859-1] (original)
+++ trunk/reactos/base/shell/cmd/console.h [iso-8859-1] Sat Sep 30 21:05:49 2017
@@ -59,8 +59,8 @@
ConFormatMessage(STD_ERROR_HANDLE, (MessageId), ##__VA_ARGS__)
-INT ConPrintfVPaging(DWORD nStdHandle, BOOL, LPTSTR, va_list);
-INT ConOutPrintfPaging (BOOL NewPage, LPTSTR, ...);
+BOOL ConPrintfVPaging(DWORD nStdHandle, BOOL, LPTSTR, va_list);
+BOOL ConOutPrintfPaging (BOOL NewPage, LPTSTR, ...);
VOID ConOutResPaging(BOOL NewPage, UINT resID);
SHORT GetCursorX (VOID);
@@ -83,7 +83,7 @@
#endif
#ifdef INCLUDE_CMD_COLOR
-BOOL ConSetScreenColor(WORD wColor, BOOL bFill);
+BOOL ConSetScreenColor(HANDLE hOutput, WORD wColor, BOOL bFill);
#endif
// TCHAR cgetchar (VOID);
Modified: trunk/reactos/base/shell/cmd/dir.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/dir.c?rev=7…
==============================================================================
--- trunk/reactos/base/shell/cmd/dir.c [iso-8859-1] (original)
+++ trunk/reactos/base/shell/cmd/dir.c [iso-8859-1] Sat Sep 30 21:05:49 2017
@@ -550,18 +550,18 @@
}
/* Print either with or without paging, depending on /P switch */
-static INT
+static BOOL
DirPrintf(LPDIRSWITCHFLAGS lpFlags, LPTSTR szFormat, ...)
{
- INT iReturn = 0;
+ BOOL Done = TRUE;
va_list arg_ptr;
va_start(arg_ptr, szFormat);
if (lpFlags->bPause)
- iReturn = ConPrintfVPaging(STD_OUTPUT_HANDLE, FALSE, szFormat, arg_ptr);
+ Done = ConPrintfVPaging(STD_OUTPUT_HANDLE, FALSE, szFormat, arg_ptr);
else
ConPrintfV(STD_OUTPUT_HANDLE, szFormat, arg_ptr);
va_end(arg_ptr);
- return iReturn;
+ return Done;
}
@@ -1139,7 +1139,7 @@
if (!lpFlags->bBareFormat && !(lpFlags->bRecursive && (dwCount
<= 0)))
{
LoadString(CMD_ModuleHandle, STRING_DIR_HELP7, szMsg, ARRAYSIZE(szMsg));
- if (DirPrintf(lpFlags, szMsg, szTemp))
+ if (!DirPrintf(lpFlags, szMsg, szTemp))
return;
}
Modified: trunk/reactos/base/shell/cmd/type.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/type.c?rev=…
==============================================================================
--- trunk/reactos/base/shell/cmd/type.c [iso-8859-1] (original)
+++ trunk/reactos/base/shell/cmd/type.c [iso-8859-1] Sat Sep 30 21:05:49 2017
@@ -107,7 +107,7 @@
{
while (FileGetString(hFile, buff, ARRAYSIZE(buff)))
{
- if (ConOutPrintfPaging(bFirstTime, _T("%s"), buff) == 1)
+ if (!ConOutPrintfPaging(bFirstTime, _T("%s"), buff))
{
bCtrlBreak = FALSE;
CloseHandle(hFile);