X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=http_api.c;h=22d622cdf6cb42e8ed12a0003a652a91354f87fe;hb=40e535bf0ccece715c2ccc640148fab5ebd9a053;hp=6f6c5d63993175d7fbc080c12461c6d64307ddf8;hpb=d4738dfa25feeba82269ac47f7f4b3054da7fe42;p=m6w6%2Fext-http diff --git a/http_api.c b/http_api.c index 6f6c5d6..22d622c 100644 --- a/http_api.c +++ b/http_api.c @@ -21,7 +21,6 @@ #include "SAPI.h" #include "php_output.h" #include "ext/standard/url.h" -#include "ext/standard/head.h" #include "php_http_api.h" #include "php_http_send_api.h" @@ -211,6 +210,8 @@ void _http_log_ex(char *file, const char *ident, const char *message TSRMLS_DC) struct tm nowtm; char datetime[128]; + HTTP_CHECK_OPEN_BASEDIR(file, return); + time(&now); strftime(datetime, sizeof(datetime), "%Y-%m-%d %H:%M:%S", php_localtime_r(&now, &nowtm)); @@ -248,7 +249,7 @@ STATUS _http_exit_ex(int status, char *header, char *body, zend_bool send_header } php_end_ob_buffers(0 TSRMLS_CC); - if (php_header(TSRMLS_C) && body) { + if ((SUCCESS == sapi_send_headers(TSRMLS_C)) && body) { PHPWRITE(body, strlen(body)); } @@ -283,7 +284,7 @@ STATUS _http_check_method_ex(const char *method, const char *methods) if ( (found = strstr(methods, method)) && (found == method || !isalpha(found[-1])) && - (!isalpha(found[strlen(method) + 1]))) { + (strlen(found) >= strlen(method) && !isalpha(found[strlen(method)]))) { return SUCCESS; } return FAILURE;