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=76... ============================================================================== --- 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?re... ============================================================================== --- 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?re... ============================================================================== --- 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=76... ============================================================================== --- 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=7... ============================================================================== --- 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);