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