- consistent usage of HTTP_G macro (only)
[m6w6/ext-http] / php_http.h
index 0fbbb55172a76353b650536c6c04c0dc0dfde6ea..7302098ea1fa4a02308255c30ba11c6ca1ae1eed 100644 (file)
 #ifndef PHP_EXT_HTTP_H
 #define PHP_EXT_HTTP_H
 
-#define PHP_EXT_HTTP_VERSION "0.22.0-dev"
+#define PHP_EXT_HTTP_VERSION "0.23.0dev"
+
+#ifdef HAVE_CONFIG_H
+#      include "config.h"
+#else
+#      ifndef PHP_WIN32
+#              include "php_config.h"
+#      endif
+#endif
 
 #include "php.h"
 #include "php_http_std_defs.h"
 #include "phpstr/phpstr.h"
 #include "missing.h"
 
+#ifdef HTTP_WANT_SAPI
+#      if PHP_API_VERSION > 20041225
+#              define HTTP_HAVE_SAPI_RTIME
+#              define HTTP_GET_REQUEST_TIME() sapi_get_request_time(TSRMLS_C)
+#      else
+#              define HTTP_GET_REQUEST_TIME() HTTP_G->request_time
+#      endif
+#      include "SAPI.h"
+#endif
+
 #ifdef HTTP_WANT_NETDB
 #      ifdef PHP_WIN32
 #              define HTTP_HAVE_NETDB
@@ -29,6 +47,9 @@
 #      elif defined(HAVE_NETDB_H)
 #              define HTTP_HAVE_NETDB
 #              include <netdb.h>
+#              ifdef HAVE_UNISTD_H
+#                      include <unistd.h>
+#              endif
 #      endif
 #endif
 
@@ -102,6 +123,9 @@ ZEND_BEGIN_MODULE_GLOBALS(http)
                } methods;
        } request;
 
+#ifndef HTTP_HAVE_SAPI_RTIME
+       time_t request_time;
+#endif
 #ifdef ZEND_ENGINE_2
        zend_bool only_exceptions;
 #endif
@@ -115,17 +139,15 @@ ZEND_EXTERN_MODULE_GLOBALS(http);
 
 #ifdef ZTS
 #      include "TSRM.h"
-#      define HTTP_G(v) TSRMG(http_globals_id, zend_http_globals *, v)
-#      define HTTP_GLOBALS ((zend_http_globals *) (*((void ***) tsrm_ls))[TSRM_UNSHUFFLE_RSRC_ID(http_globals_id)])
+#      define HTTP_G ((zend_http_globals *) (*((void ***) tsrm_ls))[TSRM_UNSHUFFLE_RSRC_ID(http_globals_id)])
 #else
-#      define HTTP_G(v) (http_globals.v)
-#      define HTTP_GLOBALS (&http_globals)
+#      define HTTP_G (&http_globals)
 #endif
-#define getGlobals(G) zend_http_globals *G = HTTP_GLOBALS
 
 PHP_FUNCTION(http_test);
 PHP_FUNCTION(http_date);
 PHP_FUNCTION(http_build_url);
+PHP_FUNCTION(http_build_str);
 PHP_FUNCTION(http_negotiate_language);
 PHP_FUNCTION(http_negotiate_charset);
 PHP_FUNCTION(http_negotiate_content_type);
@@ -162,9 +184,6 @@ PHP_FUNCTION(http_request_method_register);
 PHP_FUNCTION(http_request_method_unregister);
 PHP_FUNCTION(http_request_method_exists);
 PHP_FUNCTION(http_request_method_name);
-#ifndef ZEND_ENGINE_2
-PHP_FUNCTION(http_build_query);
-#endif /* ZEND_ENGINE_2 */
 PHP_FUNCTION(ob_etaghandler);
 #ifdef HTTP_HAVE_ZLIB
 PHP_FUNCTION(http_deflate);