mirror of
https://github.com/reactos/reactos.git
synced 2024-11-01 12:26:32 +00:00
103 lines
1.7 KiB
C
103 lines
1.7 KiB
C
/*
|
|
* SCREEN.C - screen internal command.
|
|
*
|
|
* clone from 4nt msgbox command
|
|
*
|
|
* 30 Aug 1999
|
|
* started - Paolo Pantaleo <paolopan@freemail.it>
|
|
*
|
|
* 30-Apr-2005 (Magnus Olsen <magnus@greatlord.com>)
|
|
* Remove all hardcoded strings in En.rc
|
|
*
|
|
*/
|
|
|
|
#include "precomp.h"
|
|
|
|
#ifdef INCLUDE_CMD_SCREEN
|
|
|
|
INT CommandScreen(LPTSTR param)
|
|
{
|
|
SHORT x, y;
|
|
SHORT maxx, maxy;
|
|
BOOL bSkipText = FALSE;
|
|
|
|
if (_tcsncmp(param, _T("/?"), 2) == 0)
|
|
{
|
|
ConOutResPaging(TRUE,STRING_SCREEN_HELP);
|
|
return 0;
|
|
}
|
|
|
|
nErrorLevel = 0;
|
|
|
|
/* Retrieve the screen dimensions */
|
|
GetScreenSize(&maxx, &maxy);
|
|
|
|
/* Get row */
|
|
while (_istspace(*param))
|
|
param++;
|
|
|
|
if (!*param)
|
|
{
|
|
error_req_param_missing();
|
|
return 1;
|
|
}
|
|
|
|
y = _ttoi(param);
|
|
if (y < 0 || y > (maxy-1))
|
|
{
|
|
ConOutResPuts(STRING_SCREEN_ROW);
|
|
return 1;
|
|
}
|
|
|
|
/* Get column */
|
|
if (!(param = _tcschr(param, _T(' '))))
|
|
{
|
|
error_req_param_missing();
|
|
return 1;
|
|
}
|
|
|
|
while (_istspace(*param))
|
|
param++;
|
|
|
|
if (!*param)
|
|
{
|
|
error_req_param_missing();
|
|
return 1;
|
|
}
|
|
|
|
x = _ttoi(param);
|
|
if (x < 0 || x > (maxx-1))
|
|
{
|
|
ConErrResPuts(STRING_SCREEN_COL);
|
|
return 1;
|
|
}
|
|
|
|
/* Get text */
|
|
if (!(param = _tcschr(param, _T(' '))))
|
|
{
|
|
bSkipText = TRUE;
|
|
}
|
|
else
|
|
{
|
|
while (_istspace(*param))
|
|
param++;
|
|
|
|
if (!*param)
|
|
bSkipText = TRUE;
|
|
}
|
|
|
|
bIgnoreEcho = TRUE;
|
|
|
|
if (bSkipText)
|
|
x = 0;
|
|
|
|
SetCursorXY(x, y);
|
|
|
|
if (!bSkipText)
|
|
ConOutPuts(param);
|
|
|
|
return 0;
|
|
}
|
|
|
|
#endif /* INCLUDE_CMD_SCREEN */
|