- add note about SSL connect errors on windows due to LIB/DLL mismatches
[m6w6/ext-http] / http_api.c
index 71112618763859b1e68722515dc34acf2ec29a20..9943cd8f49cf55a516ff9bb3f49edd16b017bcef 100644 (file)
@@ -22,6 +22,7 @@
 
 #include "SAPI.h"
 #include "ext/standard/url.h"
+#include "ext/standard/head.h"
 
 #include "php_http.h"
 #include "php_http_std_defs.h"
@@ -175,6 +176,7 @@ void _http_error_ex(long type TSRMLS_DC, long code, const char *format, ...)
                
                vspprintf(&message, 0, format, args);
                zend_throw_exception(http_exception_get_for_code(code), message, code TSRMLS_CC);
+               efree(message);
        } else
 #endif
        php_verror(NULL, "", type, format, args TSRMLS_CC);
@@ -193,7 +195,7 @@ void _http_log_ex(char *file, const char *ident, const char *message TSRMLS_DC)
        strftime(datetime, sizeof(datetime), "%Y-%m-%d %H:%M:%S", php_localtime_r(&now, &nowtm));
 
 #define HTTP_LOG_WRITE(file, type, msg) \
-       if (file && strlen(file)) { \
+       if (file && *file) { \
                php_stream *log = php_stream_open_wrapper(file, "ab", REPORT_ERRORS|ENFORCE_SAFE_MODE, NULL); \
                 \
                if (log) { \
@@ -220,7 +222,7 @@ STATUS _http_exit_ex(int status, char *header, char *body, zend_bool send_header
                }
        }
        
-       if (body) {
+       if (php_header(TSRMLS_C) && body) {
                PHPWRITE(body, strlen(body));
        }