]> granicus.if.org Git - php/commitdiff
-problem with CLI/mbstring/output buffering
authorMarcus Boerger <helly@php.net>
Wed, 31 Jul 2002 17:55:15 +0000 (17:55 +0000)
committerMarcus Boerger <helly@php.net>
Wed, 31 Jul 2002 17:55:15 +0000 (17:55 +0000)
main/SAPI.c

index af39e3bbdcaa756bdf7f2760b184c1ceac8b9dbb..3292a7c1c669032914f2e1fe4fd4d7a76130f503 100644 (file)
@@ -633,12 +633,23 @@ SAPI_API int sapi_header_op(sapi_header_op_enum op, void *arg TSRMLS_DC)
 }
 
 
+static void sapi_send_headers_free(TSRMLS_D)
+{
+       if (SG(sapi_headers).http_status_line) {
+               efree(SG(sapi_headers).http_status_line);
+       }
+       if (SG(sapi_headers).mimetype) {
+               efree(SG(sapi_headers).mimetype);
+       }
+}
+       
 SAPI_API int sapi_send_headers(TSRMLS_D)
 {
        int retval;
        int ret = FAILURE;
 
        if (SG(headers_sent) || SG(request_info).no_headers) {
+               sapi_send_headers_free(TSRMLS_C);
                return SUCCESS;
        }
 
@@ -711,14 +722,9 @@ SAPI_API int sapi_send_headers(TSRMLS_D)
                        ret = FAILURE;
                        break;
        }
-       
-       if (SG(sapi_headers).http_status_line) {
-               efree(SG(sapi_headers).http_status_line);
-       }
-       if (SG(sapi_headers).mimetype) {
-               efree(SG(sapi_headers).mimetype);
-       }
-       
+
+       sapi_send_headers_free(TSRMLS_C);
+
        return ret;
 }