sas             Wed Jan 15 06:28:26 2003 EDT

  Modified files:              (Branch: PHP_4_3)
    /php4/main  SAPI.c 
  Log:
  MFH 1.161
  
Index: php4/main/SAPI.c
diff -u php4/main/SAPI.c:1.155.2.3 php4/main/SAPI.c:1.155.2.4
--- php4/main/SAPI.c:1.155.2.3  Tue Dec 31 11:24:57 2002
+++ php4/main/SAPI.c    Wed Jan 15 06:28:25 2003
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: SAPI.c,v 1.155.2.3 2002/12/31 16:24:57 sebastian Exp $ */
+/* $Id: SAPI.c,v 1.155.2.4 2003/01/15 11:28:25 sas Exp $ */
 
 #include <ctype.h>
 #include <sys/stat.h>
@@ -278,10 +278,42 @@
        return 0;
 }
 
+SAPI_API void sapi_activate_headers_only(TSRMLS_D)
+{
+       if (SG(request_info).headers_read == 1)
+               return;
+       SG(request_info).headers_read = 1;
+       zend_llist_init(&SG(sapi_headers).headers, sizeof(sapi_header_struct), 
+                       (void (*)(void *)) sapi_free_header, 0);
+       SG(sapi_headers).send_default_content_type = 1;
+
+       /* SG(sapi_headers).http_response_code = 200; */ 
+       SG(sapi_headers).http_status_line = NULL;
+       SG(request_info).current_user = NULL;
+       SG(request_info).current_user_length = 0;
+       SG(request_info).no_headers = 0;
+
+       /*
+        * It's possible to override this general case in the activate() callback, 
+        * if necessary.
+        */
+       if (SG(request_info).request_method && 
+!strcmp(SG(request_info).request_method, "HEAD")) {
+               SG(request_info).headers_only = 1;
+       } else {
+               SG(request_info).headers_only = 0;
+       }
+       if (SG(server_context)) {
+               SG(request_info).cookie_data = sapi_module.read_cookies(TSRMLS_C);
+               if (sapi_module.activate) {
+                       sapi_module.activate(TSRMLS_C);
+               }
+       }
+}
 
 /*
  * Called from php_request_startup() for every request.
  */
+
 SAPI_API void sapi_activate(TSRMLS_D)
 {
        zend_llist_init(&SG(sapi_headers).headers, sizeof(sapi_header_struct), (void 
(*)(void *)) sapi_free_header, 0);
@@ -391,6 +423,9 @@
                SG(sapi_headers).mimetype = NULL;
        }
        sapi_send_headers_free(TSRMLS_C);
+       SG(sapi_started) = 0;
+       SG(headers_sent) = 0;
+       SG(request_info).headers_read = 0;
 }
 
 
@@ -813,6 +848,24 @@
                return sapi_module.getenv(name, name_len TSRMLS_CC);
        } else {
                return NULL;
+       }
+}
+
+SAPI_API int sapi_get_fd(int *fd TSRMLS_DC)
+{
+       if (sapi_module.get_fd) {
+               return sapi_module.get_fd(fd TSRMLS_CC);
+       } else {
+               return -1;
+       }
+}
+
+SAPI_API int sapi_force_http_10(TSRMLS_D)
+{
+       if (sapi_module.force_http_10) {
+               return sapi_module.force_http_10(TSRMLS_C);
+       } else {
+               return -1;
        }
 }
 



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to