mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 20:23:34 +00:00
[CMD]
Fix whitespace (part 5/6) (convert tabs into 4-space indent). svn path=/trunk/; revision=59385
This commit is contained in:
parent
04b66da6bb
commit
a1fdcd172a
3 changed files with 691 additions and 694 deletions
|
@ -73,7 +73,6 @@ INT CommandChcp (LPTSTR param)
|
||||||
}
|
}
|
||||||
|
|
||||||
freep (arg);
|
freep (arg);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,8 +27,8 @@
|
||||||
* 04-Feb-1999 (Eric Kohl)
|
* 04-Feb-1999 (Eric Kohl)
|
||||||
* Fixed date input bug.
|
* Fixed date input bug.
|
||||||
*
|
*
|
||||||
* 03-Apr-2005 (Magnus Olsen) <magnus@greatlord.com>)
|
* 03-Apr-2005 (Magnus Olsen) <magnus@greatlord.com>
|
||||||
* Remove all hardcode string to En.rc
|
* Remove all hardcoded strings in En.rc
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precomp.h"
|
#include "precomp.h"
|
||||||
|
@ -38,227 +38,222 @@
|
||||||
|
|
||||||
static WORD awMonths[2][13] =
|
static WORD awMonths[2][13] =
|
||||||
{
|
{
|
||||||
{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
|
{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
|
||||||
{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
|
{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
static VOID
|
static VOID
|
||||||
PrintDateString (VOID)
|
PrintDateString (VOID)
|
||||||
{
|
{
|
||||||
switch (nDateFormat)
|
switch (nDateFormat)
|
||||||
{
|
{
|
||||||
case 0: /* mmddyy */
|
case 0: /* mmddyy */
|
||||||
default:
|
default:
|
||||||
ConOutResPrintf(STRING_DATE_HELP1, cDateSeparator, cDateSeparator);
|
ConOutResPrintf(STRING_DATE_HELP1, cDateSeparator, cDateSeparator);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1: /* ddmmyy */
|
case 1: /* ddmmyy */
|
||||||
ConOutResPrintf(STRING_DATE_HELP2, cDateSeparator, cDateSeparator);
|
ConOutResPrintf(STRING_DATE_HELP2, cDateSeparator, cDateSeparator);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2: /* yymmdd */
|
case 2: /* yymmdd */
|
||||||
ConOutResPrintf(STRING_DATE_HELP3, cDateSeparator, cDateSeparator);
|
ConOutResPrintf(STRING_DATE_HELP3, cDateSeparator, cDateSeparator);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static BOOL
|
static BOOL
|
||||||
ReadNumber (LPTSTR *s, LPWORD lpwValue)
|
ReadNumber (LPTSTR *s, LPWORD lpwValue)
|
||||||
{
|
{
|
||||||
if (_istdigit (**s))
|
if (_istdigit (**s))
|
||||||
{
|
{
|
||||||
while (_istdigit (**s))
|
while (_istdigit (**s))
|
||||||
{
|
{
|
||||||
*lpwValue = *lpwValue * 10 + **s - _T('0');
|
*lpwValue = *lpwValue * 10 + **s - _T('0');
|
||||||
(*s)++;
|
(*s)++;
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static BOOL
|
static BOOL
|
||||||
ReadSeparator (LPTSTR *s)
|
ReadSeparator (LPTSTR *s)
|
||||||
{
|
{
|
||||||
if (**s == _T('/') || **s == _T('-') || **s == cDateSeparator)
|
if (**s == _T('/') || **s == _T('-') || **s == cDateSeparator)
|
||||||
{
|
{
|
||||||
(*s)++;
|
(*s)++;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static BOOL
|
static BOOL
|
||||||
ParseDate (LPTSTR s)
|
ParseDate (LPTSTR s)
|
||||||
{
|
{
|
||||||
SYSTEMTIME d;
|
SYSTEMTIME d;
|
||||||
unsigned char leap;
|
unsigned char leap;
|
||||||
LPTSTR p = s;
|
LPTSTR p = s;
|
||||||
|
|
||||||
if (!*s)
|
if (!*s)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
GetLocalTime (&d);
|
GetLocalTime (&d);
|
||||||
|
|
||||||
d.wYear = 0;
|
d.wYear = 0;
|
||||||
d.wDay = 0;
|
d.wDay = 0;
|
||||||
d.wMonth = 0;
|
d.wMonth = 0;
|
||||||
|
|
||||||
switch (nDateFormat)
|
switch (nDateFormat)
|
||||||
{
|
{
|
||||||
case 0: /* mmddyy */
|
case 0: /* mmddyy */
|
||||||
default:
|
default:
|
||||||
if (!ReadNumber (&p, &d.wMonth))
|
if (!ReadNumber (&p, &d.wMonth))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (!ReadSeparator (&p))
|
if (!ReadSeparator (&p))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (!ReadNumber (&p, &d.wDay))
|
if (!ReadNumber (&p, &d.wDay))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (!ReadSeparator (&p))
|
if (!ReadSeparator (&p))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (!ReadNumber (&p, &d.wYear))
|
if (!ReadNumber (&p, &d.wYear))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1: /* ddmmyy */
|
case 1: /* ddmmyy */
|
||||||
if (!ReadNumber (&p, &d.wDay))
|
if (!ReadNumber (&p, &d.wDay))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (!ReadSeparator (&p))
|
if (!ReadSeparator (&p))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (!ReadNumber (&p, &d.wMonth))
|
if (!ReadNumber (&p, &d.wMonth))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (!ReadSeparator (&p))
|
if (!ReadSeparator (&p))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (!ReadNumber (&p, &d.wYear))
|
if (!ReadNumber (&p, &d.wYear))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2: /* yymmdd */
|
case 2: /* yymmdd */
|
||||||
if (!ReadNumber (&p, &d.wYear))
|
if (!ReadNumber (&p, &d.wYear))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (!ReadSeparator (&p))
|
if (!ReadSeparator (&p))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (!ReadNumber (&p, &d.wMonth))
|
if (!ReadNumber (&p, &d.wMonth))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (!ReadSeparator (&p))
|
if (!ReadSeparator (&p))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (!ReadNumber (&p, &d.wDay))
|
if (!ReadNumber (&p, &d.wDay))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if only entered two digits: */
|
/* if only entered two digits: */
|
||||||
/* assume 2000's if value less than 80 */
|
/* assume 2000's if value less than 80 */
|
||||||
/* assume 1900's if value greater or equal 80 */
|
/* assume 1900's if value greater or equal 80 */
|
||||||
if (d.wYear <= 99)
|
if (d.wYear <= 99)
|
||||||
{
|
{
|
||||||
if (d.wYear >= 80)
|
if (d.wYear >= 80)
|
||||||
d.wYear = 1900 + d.wYear;
|
d.wYear = 1900 + d.wYear;
|
||||||
else
|
else
|
||||||
d.wYear = 2000 + d.wYear;
|
d.wYear = 2000 + d.wYear;
|
||||||
}
|
}
|
||||||
|
|
||||||
leap = (!(d.wYear % 4) && (d.wYear % 100)) || !(d.wYear % 400);
|
leap = (!(d.wYear % 4) && (d.wYear % 100)) || !(d.wYear % 400);
|
||||||
|
|
||||||
if ((d.wMonth >= 1 && d.wMonth <= 12) &&
|
if ((d.wMonth >= 1 && d.wMonth <= 12) &&
|
||||||
(d.wDay >= 1 && d.wDay <= awMonths[leap][d.wMonth]) &&
|
(d.wDay >= 1 && d.wDay <= awMonths[leap][d.wMonth]) &&
|
||||||
(d.wYear >= 1980 && d.wYear <= 2099))
|
(d.wYear >= 1980 && d.wYear <= 2099))
|
||||||
{
|
{
|
||||||
SetLocalTime (&d);
|
SetLocalTime (&d);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
INT cmd_date (LPTSTR param)
|
INT cmd_date (LPTSTR param)
|
||||||
{
|
{
|
||||||
LPTSTR *arg;
|
LPTSTR *arg;
|
||||||
INT argc;
|
INT argc;
|
||||||
INT i;
|
INT i;
|
||||||
BOOL bPrompt = TRUE;
|
BOOL bPrompt = TRUE;
|
||||||
INT nDateString = -1;
|
INT nDateString = -1;
|
||||||
|
|
||||||
if (!_tcsncmp (param, _T("/?"), 2))
|
if (!_tcsncmp (param, _T("/?"), 2))
|
||||||
{
|
|
||||||
ConOutResPaging(TRUE,STRING_DATE_HELP4);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
nErrorLevel = 0;
|
|
||||||
|
|
||||||
/* build parameter array */
|
|
||||||
arg = split (param, &argc, FALSE, FALSE);
|
|
||||||
|
|
||||||
/* check for options */
|
|
||||||
for (i = 0; i < argc; i++)
|
|
||||||
{
|
|
||||||
if (_tcsicmp (arg[i], _T("/t")) == 0)
|
|
||||||
bPrompt = FALSE;
|
|
||||||
if ((*arg[i] != _T('/')) && (nDateString == -1))
|
|
||||||
nDateString = i;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (nDateString == -1)
|
|
||||||
ConOutPrintf(_T("%s"), GetDateString());
|
|
||||||
|
|
||||||
if (!bPrompt)
|
|
||||||
{
|
|
||||||
freep (arg);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (nDateString == -1)
|
|
||||||
{
|
|
||||||
while (TRUE) /* forever loop */
|
|
||||||
{
|
|
||||||
TCHAR s[40];
|
|
||||||
|
|
||||||
PrintDateString ();
|
|
||||||
ConInString (s, 40);
|
|
||||||
TRACE ("\'%s\'\n", debugstr_aw(s));
|
|
||||||
while (*s && s[_tcslen (s) - 1] < _T(' '))
|
|
||||||
s[_tcslen (s) - 1] = _T('\0');
|
|
||||||
if (ParseDate (s))
|
|
||||||
{
|
|
||||||
freep (arg);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
ConErrResPuts(STRING_DATE_ERROR);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (!ParseDate (arg[nDateString]))
|
|
||||||
{
|
{
|
||||||
while (TRUE) /* forever loop */
|
ConOutResPaging(TRUE,STRING_DATE_HELP4);
|
||||||
{
|
return 0;
|
||||||
TCHAR s[40];
|
|
||||||
ConErrResPuts(STRING_DATE_ERROR);
|
|
||||||
|
|
||||||
PrintDateString ();
|
|
||||||
ConInString (s, 40);
|
|
||||||
|
|
||||||
while (*s && s[_tcslen (s) - 1] < _T(' '))
|
|
||||||
s[_tcslen (s) - 1] = _T('\0');
|
|
||||||
if (ParseDate (s))
|
|
||||||
{
|
|
||||||
freep (arg);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
freep (arg);
|
nErrorLevel = 0;
|
||||||
|
|
||||||
return 0;
|
/* build parameter array */
|
||||||
|
arg = split (param, &argc, FALSE, FALSE);
|
||||||
|
|
||||||
|
/* check for options */
|
||||||
|
for (i = 0; i < argc; i++)
|
||||||
|
{
|
||||||
|
if (_tcsicmp (arg[i], _T("/t")) == 0)
|
||||||
|
bPrompt = FALSE;
|
||||||
|
if ((*arg[i] != _T('/')) && (nDateString == -1))
|
||||||
|
nDateString = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nDateString == -1)
|
||||||
|
ConOutPrintf(_T("%s"), GetDateString());
|
||||||
|
|
||||||
|
if (!bPrompt)
|
||||||
|
{
|
||||||
|
freep (arg);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nDateString == -1)
|
||||||
|
{
|
||||||
|
while (TRUE) /* forever loop */
|
||||||
|
{
|
||||||
|
TCHAR s[40];
|
||||||
|
|
||||||
|
PrintDateString ();
|
||||||
|
ConInString (s, 40);
|
||||||
|
TRACE ("\'%s\'\n", debugstr_aw(s));
|
||||||
|
while (*s && s[_tcslen (s) - 1] < _T(' '))
|
||||||
|
s[_tcslen (s) - 1] = _T('\0');
|
||||||
|
if (ParseDate (s))
|
||||||
|
{
|
||||||
|
freep (arg);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
ConErrResPuts(STRING_DATE_ERROR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!ParseDate (arg[nDateString]))
|
||||||
|
{
|
||||||
|
while (TRUE) /* forever loop */
|
||||||
|
{
|
||||||
|
TCHAR s[40];
|
||||||
|
ConErrResPuts(STRING_DATE_ERROR);
|
||||||
|
|
||||||
|
PrintDateString ();
|
||||||
|
ConInString (s, 40);
|
||||||
|
|
||||||
|
while (*s && s[_tcslen (s) - 1] < _T(' '))
|
||||||
|
s[_tcslen (s) - 1] = _T('\0');
|
||||||
|
if (ParseDate (s))
|
||||||
|
{
|
||||||
|
freep (arg);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
freep (arg);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
#endif /* INCLUDE_CMD_DATE */
|
#endif /* INCLUDE_CMD_DATE */
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue