Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#include "precomp.hxx"
VOID ConvertSpacesToPlus( IN LPSTR pszString ) { if ( pszString != NULL ) { while ( *pszString != '\0' ) { if ((*pszString == ' ') || (*pszString == '\t') ) { *pszString = '+'; } pszString++; } }
return; }
DWORD WeekOfMonth( IN LPSYSTEMTIME pstNow ) /*++
Finds the ordinal number of the week of current month. The numbering of weeks starts from 1 and run through 5 per month (max). The week number changes only on sundays.
The calculation to be use is: 1 + ( dayOfMonth - 1)/7 + (( dayOfMonth - 1) % 7 > dayOfWeek); (a) (b) (c) (d)
(a) to set the week numbers to begin from week numbered "1" (b) used to calculate the rough number of the week on which a given day falls based on the date. (c) calculates what is the offset from the start of week for a given day based on the fact that a week had 7 days. (d) is the raw day of week given to us. (c) > (d) indicates that the week is rolling forward and hence the week count should be offset by 1 more.
--*/ { DWORD dwTmp;
dwTmp = (pstNow->wDay - 1); dwTmp = ( 1 + dwTmp/7 + (((dwTmp % 7) > pstNow->wDayOfWeek) ? 1 : 0));
return ( dwTmp); } // WeekOfMonth()
BOOL IsBeginningOfNewPeriod( IN DWORD dwPeriod, IN LPSYSTEMTIME pstCurrentFile, IN LPSYSTEMTIME pstNow ) /*++
This function checks to see if we are beginning a new period for a given periodic interval type ( specified using dwPeriod).
Arguments: dwPeriod INETLOG_PERIOD specifying the periodic interval. pstCurrentFile pointer to SYSTEMTIME for the current file. pstNow pointer to SYSTEMTIME for the present time.
Returns: TRUE if a new period is beginning ( ie pstNow > pstCurrentFile). FALSE otherwise. --*/ {
BOOL fNewPeriod = FALSE;
switch ( dwPeriod) {
case INET_LOG_PERIOD_HOURLY: fNewPeriod = (pstCurrentFile->wHour != pstNow->wHour);
//
// Fall Through
//
case INET_LOG_PERIOD_DAILY: fNewPeriod = fNewPeriod || (pstCurrentFile->wDay != pstNow->wDay);
//
// Fall Through
//
case INET_LOG_PERIOD_MONTHLY:
fNewPeriod = fNewPeriod || (pstCurrentFile->wMonth != pstNow->wMonth); break;
case INET_LOG_PERIOD_WEEKLY: fNewPeriod = (WeekOfMonth(pstCurrentFile) != WeekOfMonth(pstNow)) || (pstCurrentFile->wMonth != pstNow->wMonth); break;
case INET_LOG_PERIOD_NONE: default: break; } // switch()
return(fNewPeriod); }// IsBeginningOfNewPeriod
|