/* }}} */
/* {{{ time_t http_parse_date(char *) */
-PHP_HTTP_API time_t _http_parse_date(const char *date TSRMLS_DC)
+PHP_HTTP_API time_t _http_parse_date_ex(const char *date, zend_bool silent TSRMLS_DC)
{
time_t t = -1;
putenv(tzput);
#endif
- if (-1 == t) {
+ if (-1 == t && !silent) {
http_error_ex(HE_NOTICE, HTTP_E_RUNTIME, "Could not parse date: %s", date);
}
while (*date && (part < 6)) {
int found = 0;
- while (*date && !isalnum(*date)) {
+ while (*date && !HTTP_IS_CTYPE(alnum, *date)) {
date++;
}
- if (isalpha(*date)) {
+ if (HTTP_IS_CTYPE(alpha, *date)) {
/* a name coming up */
char buf[32] = "";
size_t len;
}
date += len;
}
- else if (isdigit(*date)) {
+ else if (HTTP_IS_CTYPE(digit, *date)) {
/* a digit */
int val;
char *end;