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