On Monday 17 January 2005 11:18, Joris Huizer wrote:
- while (*s && !isalphaW( *s )) s++;
- if (*s == '\0' || *(s + 1) == '\0' || *(s + 2) == '\0') return
FALSE; + time->wDayOfWeek = 7;
- for (i = 0; i < 7; i++)
- {
if (toupperW( WININET_wkday[i][0] ) == toupperW( *s ) &&
toupperW( WININET_wkday[i][1] ) == toupperW( *(s + 1) ) &&
toupperW( WININET_wkday[i][2] ) == toupperW( *(s + 2) ) )
{
time->wDayOfWeek = i;
break;
}
- }
What happens if, the string ends with WININET_wkday[i][0] or WININET_wkday[i][1] ?
It can't, that's protected by the:
if (*s == '\0' || *(s + 1) == '\0' || *(s + 2) == '\0') return FALSE
above. The third check prevents that.
- if (time->wDayOfWeek > 6) return FALSE;
- while (*s && !isdigitW( *s )) s++;
What happens if s just became NULL in this loop ?
Huh?
What happens if, the string ends with WININET_month[i][0] or WININET_month[i][1] ?
Same as above.
-Hans