mirror of
https://github.com/reactos/reactos.git
synced 2025-01-03 21:09:19 +00:00
[CMD]: Small refactoring:
- Moving ConGetDefaultAttributes() in console.h; - Moving some SDK inclusions into precomp.h; - Removing extern HANDLE hIn; and localize the SHORT maxx/y variables; - Comment fix; - Whitespace fixes for screen.c. svn path=/trunk/; revision=76009
This commit is contained in:
parent
d7bbf5ad8a
commit
11f7d225c8
8 changed files with 71 additions and 71 deletions
|
@ -311,10 +311,11 @@ Execute(LPTSTR Full, LPTSTR First, LPTSTR Rest, PARSED_COMMAND *Cmd)
|
||||||
{
|
{
|
||||||
TCHAR szFullName[MAX_PATH];
|
TCHAR szFullName[MAX_PATH];
|
||||||
TCHAR *first, *rest, *dot;
|
TCHAR *first, *rest, *dot;
|
||||||
TCHAR szWindowTitle[MAX_PATH], szNewTitle[MAX_PATH*2];
|
TCHAR szWindowTitle[MAX_PATH];
|
||||||
|
TCHAR szNewTitle[MAX_PATH*2];
|
||||||
DWORD dwExitCode = 0;
|
DWORD dwExitCode = 0;
|
||||||
TCHAR *FirstEnd;
|
TCHAR *FirstEnd;
|
||||||
TCHAR szFullCmdLine [CMDLINE_LENGTH];
|
TCHAR szFullCmdLine[CMDLINE_LENGTH];
|
||||||
|
|
||||||
TRACE ("Execute: \'%s\' \'%s\'\n", debugstr_aw(First), debugstr_aw(Rest));
|
TRACE ("Execute: \'%s\' \'%s\'\n", debugstr_aw(First), debugstr_aw(Rest));
|
||||||
|
|
||||||
|
@ -1762,33 +1763,6 @@ GetCmdLineCommand(TCHAR *commandline, TCHAR *ptr, BOOL AlwaysStrip)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef INCLUDE_CMD_COLOR
|
|
||||||
|
|
||||||
BOOL ConGetDefaultAttributes(PWORD pwDefAttr)
|
|
||||||
{
|
|
||||||
BOOL Success;
|
|
||||||
HANDLE hConsole;
|
|
||||||
CONSOLE_SCREEN_BUFFER_INFO csbi;
|
|
||||||
|
|
||||||
/* Do not modify *pwDefAttr if we fail, in which case use default attributes */
|
|
||||||
|
|
||||||
hConsole = CreateFile(_T("CONOUT$"), GENERIC_READ|GENERIC_WRITE,
|
|
||||||
FILE_SHARE_READ|FILE_SHARE_WRITE, NULL,
|
|
||||||
OPEN_EXISTING, 0, NULL);
|
|
||||||
if (hConsole == INVALID_HANDLE_VALUE)
|
|
||||||
return FALSE; // No default console
|
|
||||||
|
|
||||||
Success = GetConsoleScreenBufferInfo(hConsole, &csbi);
|
|
||||||
if (Success)
|
|
||||||
*pwDefAttr = csbi.wAttributes;
|
|
||||||
|
|
||||||
CloseHandle(hConsole);
|
|
||||||
return Success;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set up global initializations and process parameters
|
* Set up global initializations and process parameters
|
||||||
*/
|
*/
|
||||||
|
@ -1997,7 +1971,6 @@ static VOID Cleanup(VOID)
|
||||||
if (IsExistingFile(_T("cmdexit.bat")))
|
if (IsExistingFile(_T("cmdexit.bat")))
|
||||||
{
|
{
|
||||||
ConErrResPuts(STRING_CMD_ERROR5);
|
ConErrResPuts(STRING_CMD_ERROR5);
|
||||||
|
|
||||||
ParseCommandLine(_T("cmdexit.bat"));
|
ParseCommandLine(_T("cmdexit.bat"));
|
||||||
}
|
}
|
||||||
else if (IsExistingFile(_T("\\cmdexit.bat")))
|
else if (IsExistingFile(_T("\\cmdexit.bat")))
|
||||||
|
|
|
@ -25,12 +25,6 @@
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
#include <winnls.h>
|
|
||||||
#include <winreg.h>
|
|
||||||
#include <winuser.h>
|
|
||||||
#include <wincon.h>
|
|
||||||
#include <tchar.h>
|
|
||||||
|
|
||||||
#include "cmdver.h"
|
#include "cmdver.h"
|
||||||
#include "cmddbg.h"
|
#include "cmddbg.h"
|
||||||
|
|
||||||
|
@ -43,7 +37,6 @@
|
||||||
#define D_ON _T("on")
|
#define D_ON _T("on")
|
||||||
#define D_OFF _T("off")
|
#define D_OFF _T("off")
|
||||||
|
|
||||||
|
|
||||||
/* command line buffer length */
|
/* command line buffer length */
|
||||||
#define CMDLINE_LENGTH 8192
|
#define CMDLINE_LENGTH 8192
|
||||||
|
|
||||||
|
@ -51,7 +44,6 @@
|
||||||
#define BUFF_SIZE 16384
|
#define BUFF_SIZE 16384
|
||||||
|
|
||||||
/* Global variables */
|
/* Global variables */
|
||||||
extern HANDLE hIn;
|
|
||||||
extern LPTSTR lpOriginalEnvironment;
|
extern LPTSTR lpOriginalEnvironment;
|
||||||
extern WORD wColor;
|
extern WORD wColor;
|
||||||
extern WORD wDefColor;
|
extern WORD wDefColor;
|
||||||
|
@ -62,8 +54,6 @@ extern BOOL bDisableBatchEcho;
|
||||||
extern BOOL bEnableExtensions;
|
extern BOOL bEnableExtensions;
|
||||||
extern BOOL bDelayedExpansion;
|
extern BOOL bDelayedExpansion;
|
||||||
extern INT nErrorLevel;
|
extern INT nErrorLevel;
|
||||||
extern SHORT maxx;
|
|
||||||
extern SHORT maxy;
|
|
||||||
extern BOOL bUnicodeOutput;
|
extern BOOL bUnicodeOutput;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -507,6 +507,33 @@ VOID GetScreenSize(PSHORT maxx, PSHORT maxy)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef INCLUDE_CMD_COLOR
|
||||||
|
|
||||||
|
BOOL ConGetDefaultAttributes(PWORD pwDefAttr)
|
||||||
|
{
|
||||||
|
BOOL Success;
|
||||||
|
HANDLE hConsole;
|
||||||
|
CONSOLE_SCREEN_BUFFER_INFO csbi;
|
||||||
|
|
||||||
|
/* Do not modify *pwDefAttr if we fail, in which case use default attributes */
|
||||||
|
|
||||||
|
hConsole = CreateFile(_T("CONOUT$"), GENERIC_READ|GENERIC_WRITE,
|
||||||
|
FILE_SHARE_READ|FILE_SHARE_WRITE, NULL,
|
||||||
|
OPEN_EXISTING, 0, NULL);
|
||||||
|
if (hConsole == INVALID_HANDLE_VALUE)
|
||||||
|
return FALSE; // No default console
|
||||||
|
|
||||||
|
Success = GetConsoleScreenBufferInfo(hConsole, &csbi);
|
||||||
|
if (Success)
|
||||||
|
*pwDefAttr = csbi.wAttributes;
|
||||||
|
|
||||||
|
CloseHandle(hConsole);
|
||||||
|
return Success;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
BOOL ConSetTitle(IN LPCTSTR lpConsoleTitle)
|
BOOL ConSetTitle(IN LPCTSTR lpConsoleTitle)
|
||||||
{
|
{
|
||||||
/* Now really set the console title */
|
/* Now really set the console title */
|
||||||
|
|
|
@ -72,6 +72,11 @@ VOID GetScreenSize (PSHORT, PSHORT);
|
||||||
VOID SetCursorType (BOOL, BOOL);
|
VOID SetCursorType (BOOL, BOOL);
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef INCLUDE_CMD_COLOR
|
||||||
|
BOOL ConGetDefaultAttributes(PWORD pwDefAttr);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
BOOL ConSetTitle(IN LPCTSTR lpConsoleTitle);
|
BOOL ConSetTitle(IN LPCTSTR lpConsoleTitle);
|
||||||
|
|
||||||
#ifdef INCLUDE_CMD_BEEP
|
#ifdef INCLUDE_CMD_BEEP
|
||||||
|
|
|
@ -1052,7 +1052,7 @@ DirPrintOldList(PDIRFINDINFO ptrFiles[], /* [IN] Files' Info */
|
||||||
/* Calculate size */
|
/* Calculate size */
|
||||||
if (ptrFiles[i]->stFindInfo.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
|
if (ptrFiles[i]->stFindInfo.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
|
||||||
{
|
{
|
||||||
/* Directory, no size it's a directory*/
|
/* Directory, no size it's a directory */
|
||||||
iSizeFormat = -17;
|
iSizeFormat = -17;
|
||||||
_tcscpy(szSize, _T("<DIR>"));
|
_tcscpy(szSize, _T("<DIR>"));
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,15 +7,20 @@
|
||||||
#define _CRT_SECURE_NO_DEPRECATE
|
#define _CRT_SECURE_NO_DEPRECATE
|
||||||
#endif /*_MSC_VER */
|
#endif /*_MSC_VER */
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdarg.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
|
#include <tchar.h>
|
||||||
|
|
||||||
#define WIN32_NO_STATUS
|
#define WIN32_NO_STATUS
|
||||||
#include <stdarg.h>
|
|
||||||
#include <windef.h>
|
#include <windef.h>
|
||||||
#include <winbase.h>
|
#include <winbase.h>
|
||||||
|
#include <winnls.h>
|
||||||
|
#include <winreg.h>
|
||||||
|
#include <winuser.h>
|
||||||
|
#include <wincon.h>
|
||||||
#include <shellapi.h>
|
#include <shellapi.h>
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#define NTOS_MODE_USER
|
#define NTOS_MODE_USER
|
||||||
#include <ndk/rtlfuncs.h>
|
#include <ndk/rtlfuncs.h>
|
||||||
|
|
|
@ -15,13 +15,13 @@
|
||||||
|
|
||||||
#ifdef INCLUDE_CMD_SCREEN
|
#ifdef INCLUDE_CMD_SCREEN
|
||||||
|
|
||||||
|
INT CommandScreen(LPTSTR param)
|
||||||
INT CommandScreen (LPTSTR param)
|
|
||||||
{
|
{
|
||||||
SHORT x,y;
|
SHORT x, y;
|
||||||
|
SHORT maxx, maxy;
|
||||||
BOOL bSkipText = FALSE;
|
BOOL bSkipText = FALSE;
|
||||||
|
|
||||||
if (_tcsncmp (param, _T("/?"), 2) == 0)
|
if (_tcsncmp(param, _T("/?"), 2) == 0)
|
||||||
{
|
{
|
||||||
ConOutResPaging(TRUE,STRING_SCREEN_HELP);
|
ConOutResPaging(TRUE,STRING_SCREEN_HELP);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -29,72 +29,71 @@ INT CommandScreen (LPTSTR param)
|
||||||
|
|
||||||
nErrorLevel = 0;
|
nErrorLevel = 0;
|
||||||
|
|
||||||
//get row
|
/* Retrieve the screen dimensions */
|
||||||
while(_istspace(*param))
|
GetScreenSize(&maxx, &maxy);
|
||||||
|
|
||||||
|
/* Get row */
|
||||||
|
while (_istspace(*param))
|
||||||
param++;
|
param++;
|
||||||
|
|
||||||
if (!(*param))
|
if (!*param)
|
||||||
{
|
{
|
||||||
error_req_param_missing ();
|
error_req_param_missing();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
y = _ttoi(param);
|
y = _ttoi(param);
|
||||||
if (y<0 || y>(maxy-1))
|
if (y < 0 || y > (maxy-1))
|
||||||
{
|
{
|
||||||
ConOutResPuts(STRING_SCREEN_ROW);
|
ConOutResPuts(STRING_SCREEN_ROW);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//get col
|
/* Get column */
|
||||||
if (!(param = _tcschr(param,_T(' '))))
|
if (!(param = _tcschr(param, _T(' '))))
|
||||||
{
|
{
|
||||||
error_req_param_missing ();
|
error_req_param_missing();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
while(_istspace(*param))
|
while (_istspace(*param))
|
||||||
param++;
|
param++;
|
||||||
|
|
||||||
if (!(*param))
|
if (!*param)
|
||||||
{
|
{
|
||||||
error_req_param_missing ();
|
error_req_param_missing();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
x = _ttoi(param);
|
x = _ttoi(param);
|
||||||
if (x<0 || x>(maxx-1))
|
if (x < 0 || x > (maxx-1))
|
||||||
{
|
{
|
||||||
ConErrResPuts(STRING_SCREEN_COL);
|
ConErrResPuts(STRING_SCREEN_COL);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//get text
|
/* Get text */
|
||||||
if (!(param = _tcschr(param,_T(' '))))
|
if (!(param = _tcschr(param, _T(' '))))
|
||||||
{
|
{
|
||||||
bSkipText = TRUE;
|
bSkipText = TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
while(_istspace(*param))
|
while (_istspace(*param))
|
||||||
param++;
|
param++;
|
||||||
|
|
||||||
if (!(*param))
|
if (!*param)
|
||||||
{
|
|
||||||
bSkipText = TRUE;
|
bSkipText = TRUE;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
bIgnoreEcho = TRUE;
|
bIgnoreEcho = TRUE;
|
||||||
|
|
||||||
if (bSkipText)
|
if (bSkipText)
|
||||||
x=0;
|
x = 0;
|
||||||
|
|
||||||
|
SetCursorXY(x, y);
|
||||||
|
|
||||||
SetCursorXY(x,y);
|
if (!bSkipText)
|
||||||
|
|
||||||
if (!(bSkipText))
|
|
||||||
ConOutPuts(param);
|
ConOutPuts(param);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -45,7 +45,7 @@ INT cmd_start (LPTSTR Rest)
|
||||||
BOOL bWait = FALSE;
|
BOOL bWait = FALSE;
|
||||||
BOOL bBat = FALSE;
|
BOOL bBat = FALSE;
|
||||||
BOOL bCreate = FALSE;
|
BOOL bCreate = FALSE;
|
||||||
TCHAR szFullCmdLine [CMDLINE_LENGTH];
|
TCHAR szFullCmdLine[CMDLINE_LENGTH];
|
||||||
PROCESS_INFORMATION prci;
|
PROCESS_INFORMATION prci;
|
||||||
STARTUPINFO stui;
|
STARTUPINFO stui;
|
||||||
#ifdef UNICODE
|
#ifdef UNICODE
|
||||||
|
@ -303,6 +303,7 @@ INT cmd_start (LPTSTR Rest)
|
||||||
nErrorLevel = (INT)dwExitCode;
|
nErrorLevel = (INT)dwExitCode;
|
||||||
}
|
}
|
||||||
CloseHandle (prci.hProcess);
|
CloseHandle (prci.hProcess);
|
||||||
|
|
||||||
/* Get New code page if it has change */
|
/* Get New code page if it has change */
|
||||||
InputCodePage= GetConsoleCP();
|
InputCodePage= GetConsoleCP();
|
||||||
OutputCodePage = GetConsoleOutputCP();
|
OutputCodePage = GetConsoleOutputCP();
|
||||||
|
|
Loading…
Reference in a new issue