struct tm nowtm;
char datetime[20] = {0};
- now = HTTP_GET_REQUEST_TIME();
+ now = HTTP_G->request.time;
strftime(datetime, sizeof(datetime), "%Y-%m-%d %H:%M:%S", php_localtime_r(&now, &nowtm));
#define HTTP_LOG_WRITE(file, type, msg) \
STATUS _http_exit_ex(int status, char *header, char *body, zend_bool send_header TSRMLS_DC)
{
if ( (send_header && (SUCCESS != http_send_status_header(status, header))) ||
- (!send_header && status && (SUCCESS != http_send_status(status)))) {
+ (status && (SUCCESS != http_send_status(status)))) {
http_error_ex(HE_WARNING, HTTP_E_HEADER, "Failed to exit with status/header: %d - %s", status, header ? header : "");
STR_FREE(header);
STR_FREE(body);
case 305: http_log(HTTP_G->log.redirect, "305-REDIRECT", header); break;
case 307: http_log(HTTP_G->log.redirect, "307-REDIRECT", header); break;
case 304: http_log(HTTP_G->log.cache, "304-CACHE", header); break;
+ case 404: http_log(HTTP_G->log.not_found, "404-NOTFOUND", NULL); break;
case 405: http_log(HTTP_G->log.allowed_methods, "405-ALLOWED", header); break;
default: http_log(NULL, header, body); break;
}
if ((SUCCESS != zend_hash_find(&EG(symbol_table), "_SERVER", sizeof("_SERVER"), (void *) &hsv)) || (Z_TYPE_PP(hsv) != IS_ARRAY)) {
return NULL;
}
- if ((SUCCESS != zend_hash_find(Z_ARRVAL_PP(hsv), (char *) key, key_size, (void *) &var)) || (Z_TYPE_PP(var) != IS_STRING)) {
+ if ((SUCCESS != zend_hash_find(Z_ARRVAL_PP(hsv), (char *) key, key_size, (void *) &var))) {
return NULL;
}
- if (check && !(Z_STRVAL_PP(var) && Z_STRLEN_PP(var))) {
+ if (check && !((Z_TYPE_PP(var) == IS_STRING) && Z_STRVAL_PP(var) && Z_STRLEN_PP(var))) {
return NULL;
}
return *var;