static VOID
PrintElapsedTime (DWORD time,INT format)
{
- DWORD h,m,s,ms;
-
- TRACE ("PrintElapsedTime(%d,%d)",time,format);
-
- switch (format)
- {
- case 0:
- ConOutResPrintf(STRING_TIMER_HELP1, time);
- break;
-
- case 1:
- ms = time % 1000;
- time /= 1000;
- s = time % 60;
- time /=60;
- m = time % 60;
- h = time / 60;
- ConOutResPrintf(STRING_TIMER_HELP2,
- h, cTimeSeparator,
- m, cTimeSeparator,
- s, cDecimalSeparator, ms/10);
- break;
- }
+ DWORD h,m,s,ms;
+
+ TRACE ("PrintElapsedTime(%d,%d)",time,format);
+
+ switch (format)
+ {
+ case 0:
+ ConOutResPrintf(STRING_TIMER_HELP1, time);
+ break;
+
+ case 1:
+ ms = time % 1000;
+ time /= 1000;
+ s = time % 60;
+ time /=60;
+ m = time % 60;
+ h = time / 60;
+ ConOutResPrintf(STRING_TIMER_HELP2,
+ h, cTimeSeparator,
+ m, cTimeSeparator,
+ s, cDecimalSeparator, ms/10);
+ break;
+ }
}
INT CommandTimer (LPTSTR param)
{
- // all timers are kept
- static DWORD clksT[10];
-
- // timers status
- // set all the clocks off by default
- static BOOL clksS[10]={FALSE,FALSE,FALSE,FALSE,
- FALSE,FALSE,FALSE,FALSE,FALSE,FALSE};
-
- // TRUE if /S in command line
- BOOL bS = FALSE;
-
- // avoid to set clk_n more than once
- BOOL bCanNSet = TRUE;
-
- INT NewClkStatus = NCS_NOT_SPECIFIED;
-
- // the clock number specified on the command line
- // 1 by default
- INT clk_n=1;
-
- // output format
- INT iFormat=1;
-
-
- // command line parsing variables
- INT argc;
- LPTSTR *p;
-
- INT i;
-
- if (_tcsncmp (param, _T("/?"), 2) == 0)
- {
- ConOutResPrintf(STRING_TIMER_HELP3, cTimeSeparator, cTimeSeparator, cDecimalSeparator);
- return 0;
- }
-
- nErrorLevel = 0;
-
- p = split (param, &argc, FALSE, FALSE);
-
- //read options
- for (i = 0; i < argc; i++)
- {
- //set timer on
- if (!(_tcsicmp(&p[i][0],_T("on"))) && NewClkStatus == NCS_NOT_SPECIFIED)
- {
- NewClkStatus = NCS_ON;
- continue;
- }
-
- //set timer off
- if (!(_tcsicmp(&p[i][0],_T("off"))) && NewClkStatus == NCS_NOT_SPECIFIED)
- {
- NewClkStatus = NCS_OFF;
- continue;
- }
-
- // other options
- if (p[i][0] == _T('/'))
- {
- // set timer number
- if (_istdigit(p[i][1]) && bCanNSet)
- {
- clk_n = p[i][1] - _T('0');
- bCanNSet = FALSE;
- continue;
- }
-
- // set s(plit) option
- if (_totupper(p[i][1]) == _T('S'))
- {
- bS = TRUE;
- continue;
- }
-
- // specify format
- if (_totupper(p[i][1]) == _T('F'))
- {
- iFormat = p[i][2] - _T('0');
- continue;
- }
- }
- }
-
- // do stuff (start/stop/read timer)
- if(NewClkStatus == NCS_ON)
- {
- cT=GetTickCount();
- cS=TRUE;
+ // all timers are kept
+ static DWORD clksT[10];
+
+ // timers status
+ // set all the clocks off by default
+ static BOOL clksS[10]={FALSE,FALSE,FALSE,FALSE,
+ FALSE,FALSE,FALSE,FALSE,FALSE,FALSE};
+
+ // TRUE if /S in command line
+ BOOL bS = FALSE;
+
+ // avoid to set clk_n more than once
+ BOOL bCanNSet = TRUE;
+
+ INT NewClkStatus = NCS_NOT_SPECIFIED;
+
+ // the clock number specified on the command line
+ // 1 by default
+ INT clk_n=1;
+
+ // output format
+ INT iFormat=1;
+
+
+ // command line parsing variables
+ INT argc;
+ LPTSTR *p;
+
+ INT i;
+
+ if (_tcsncmp (param, _T("/?"), 2) == 0)
+ {
+ ConOutResPrintf(STRING_TIMER_HELP3, cTimeSeparator, cTimeSeparator, cDecimalSeparator);
+ return 0;
+ }
+
+ nErrorLevel = 0;
+
+ p = split (param, &argc, FALSE, FALSE);
+
+ //read options
+ for (i = 0; i < argc; i++)
+ {
+ //set timer on
+ if (!(_tcsicmp(&p[i][0],_T("on"))) && NewClkStatus == NCS_NOT_SPECIFIED)
+ {
+ NewClkStatus = NCS_ON;
+ continue;
+ }
+
+ //set timer off
+ if (!(_tcsicmp(&p[i][0],_T("off"))) && NewClkStatus == NCS_NOT_SPECIFIED)
+ {
+ NewClkStatus = NCS_OFF;
+ continue;
+ }
+
+ // other options
+ if (p[i][0] == _T('/'))
+ {
+ // set timer number
+ if (_istdigit(p[i][1]) && bCanNSet)
+ {
+ clk_n = p[i][1] - _T('0');
+ bCanNSet = FALSE;
+ continue;
+ }
+
+ // set s(plit) option
+ if (_totupper(p[i][1]) == _T('S'))
+ {
+ bS = TRUE;
+ continue;
+ }
+
+ // specify format
+ if (_totupper(p[i][1]) == _T('F'))
+ {
+ iFormat = p[i][2] - _T('0');
+ continue;
+ }
+ }
+ }
+
+ // do stuff (start/stop/read timer)
+ if (NewClkStatus == NCS_ON)
+ {
+ cT=GetTickCount();
+ cS=TRUE;
ConOutResPrintf (STRING_TIMER_TIME,clk_n,cS?_T("ON"):_T("OFF"));
- ConOutPuts(GetTimeString());
- freep(p);
- return 0;
- }
-
- if(bS)
- {
- if(cS)
- {
+ ConOutPuts(GetTimeString());
+ freep(p);
+ return 0;
+ }
+
+ if (bS)
+ {
+ if (cS)
+ {
ConOutResPrintf (STRING_TIMER_TIME,clk_n,cS?_T("ON"):_T("OFF"));
- ConOutPrintf(_T("%s\n"), GetTimeString());
- PrintElapsedTime(GetTickCount()-cT, iFormat);
- freep(p);
- return 0;
- }
-
- cT=GetTickCount();
- cS=TRUE;
- ConOutResPrintf (STRING_TIMER_TIME,clk_n,cS?_T("ON"):_T("OFF"));
- ConOutPuts(GetTimeString());
- freep(p);
- return 0;
- }
-
- if (NewClkStatus == NCS_NOT_SPECIFIED)
- {
- if (cS)
- {
- cS=FALSE;
- ConOutResPrintf (STRING_TIMER_TIME,clk_n,cS?_T("ON"):_T("OFF"));
- ConOutPrintf(_T("%s\n"), GetTimeString());
- PrintElapsedTime(GetTickCount()-cT, iFormat);
- freep(p);
- return 0;
- }
-
- cT=GetTickCount();
- cS=TRUE;
- ConOutResPrintf (STRING_TIMER_TIME,clk_n,cS?_T("ON"):_T("OFF"));
- ConOutPuts(GetTimeString());
- freep(p);
- return 0;
- }
-
-
- if (NewClkStatus == NCS_OFF)
- {
- if (cS)
- {
- cS=FALSE;
- ConOutResPrintf (STRING_TIMER_TIME,clk_n,cS?_T("ON"):_T("OFF"));
- ConOutPrintf(_T("%s\n"), GetTimeString());
- PrintElapsedTime(GetTickCount()-cT, iFormat);
- freep(p);
- return 0;
- }
- ConOutResPrintf (STRING_TIMER_TIME,clk_n,cS?_T("ON"):_T("OFF"));
- ConOutPuts(GetTimeString());
- freep(p);
- return 0;
- }
-
- freep(p);
- return 0;
+ ConOutPrintf(_T("%s\n"), GetTimeString());
+ PrintElapsedTime(GetTickCount()-cT, iFormat);
+ freep(p);
+ return 0;
+ }
+
+ cT=GetTickCount();
+ cS=TRUE;
+ ConOutResPrintf (STRING_TIMER_TIME,clk_n,cS?_T("ON"):_T("OFF"));
+ ConOutPuts(GetTimeString());
+ freep(p);
+ return 0;
+ }
+
+ if (NewClkStatus == NCS_NOT_SPECIFIED)
+ {
+ if (cS)
+ {
+ cS=FALSE;
+ ConOutResPrintf (STRING_TIMER_TIME,clk_n,cS?_T("ON"):_T("OFF"));
+ ConOutPrintf(_T("%s\n"), GetTimeString());
+ PrintElapsedTime(GetTickCount()-cT, iFormat);
+ freep(p);
+ return 0;
+ }
+
+ cT=GetTickCount();
+ cS=TRUE;
+ ConOutResPrintf (STRING_TIMER_TIME,clk_n,cS?_T("ON"):_T("OFF"));
+ ConOutPuts(GetTimeString());
+ freep(p);
+ return 0;
+ }
+
+
+ if (NewClkStatus == NCS_OFF)
+ {
+ if (cS)
+ {
+ cS=FALSE;
+ ConOutResPrintf (STRING_TIMER_TIME,clk_n,cS?_T("ON"):_T("OFF"));
+ ConOutPrintf(_T("%s\n"), GetTimeString());
+ PrintElapsedTime(GetTickCount()-cT, iFormat);
+ freep(p);
+ return 0;
+ }
+ ConOutResPrintf (STRING_TIMER_TIME,clk_n,cS?_T("ON"):_T("OFF"));
+ ConOutPuts(GetTimeString());
+ freep(p);
+ return 0;
+ }
+
+ freep(p);
+ return 0;
}
#endif /* INCLUDE_CMD_TIMER */