On Fri, 22 Nov 2002, Sascha Schumann wrote:

> > This *is* cleaner approach, but if we wanted to keep as close to pre-4.3
> > behaviour as possible I thing that "HTTP/1.0 %d Code\r\n" should be
> > replaced with SG(sapi_headers).http_status_line.
> 
>     Well, if the user enables rfc2616_header, we should surely
>     generate a RFC 2616 header, don't you think?

Yes. SG(sapi_headers).http_status_line will always contain a RFC 2616 
header for non-200 status codes. Please have a look at the attached 
revision of your previous patch.

Edin
Index: cgi_main.c
===================================================================
RCS file: /repository/php4/sapi/cgi/cgi_main.c,v
retrieving revision 1.190.2.3
diff -u -3 -p -r1.190.2.3 cgi_main.c
--- cgi_main.c  22 Nov 2002 10:16:36 -0000      1.190.2.3
+++ cgi_main.c  22 Nov 2002 12:00:42 -0000
@@ -238,7 +238,6 @@ static void sapi_cgibin_flush(void *serv
 static int sapi_cgi_send_headers(sapi_headers_struct *sapi_headers TSRMLS_DC)
 {
        char buf[1024];
-       int len;
        sapi_header_struct *h;
        zend_llist_position pos;
        long rfc2616_headers = 0;
@@ -252,13 +251,17 @@ static int sapi_cgi_send_headers(sapi_he
                rfc2616_headers = 0;
        }
 
-       if (rfc2616_headers && SG(sapi_headers).http_status_line) {
-               len = sprintf(buf, "%s\r\n", SG(sapi_headers).http_status_line);
-       } else {
-               len = sprintf(buf, "Status: %d\r\n", 
SG(sapi_headers).http_response_code);
-       }
+       if (SG(sapi_headers).http_response_code != 200) {
+               int len;
+               
+               if (rfc2616_headers) {
+                       len = sprintf(buf, "%s\r\n", 
+SG(sapi_headers).http_status_line);
+               } else {
+                       len = sprintf(buf, "Status: %d\r\n", 
+SG(sapi_headers).http_response_code);
+               }
 
-       PHPWRITE_H(buf, len);
+               PHPWRITE_H(buf, len);
+       }
 
        if (SG(sapi_headers).send_default_content_type) {
                char *hd;
-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to