- finish work on encoding api
[m6w6/ext-http] / php_http_cache_api.h
index 03ea1134be656f6412583633e544c9eaaa9069c5..ee9e8f831b6304f41874f8684a2baf8cf4150224 100644 (file)
 #ifndef PHP_HTTP_CACHE_API_H
 #define PHP_HTTP_CACHE_API_H
 
-#include "zend_ini.h"
+#include "php_http_send_api.h"
 
 #include "ext/standard/crc32.h"
 #include "ext/standard/sha1.h"
 #include "ext/standard/md5.h"
-
-#include "php_http_std_defs.h"
-#include "php_http.h"
-#include "php_http_api.h"
-#include "php_http_send_api.h"
-
-#ifdef HTTP_HAVE_EXT_HASH
+#if defined(HTTP_HAVE_EXT_HASH)
 #      include "php_hash.h"
+#elif defined(HTTP_HAVE_HASH_EXT_HASH)
+#      define HTTP_HAVE_EXT_HASH
+#      include "hash/php_hash.h"
+#elif defined(HTTP_HAVE_EXT_HASH_EXT_HASH)
+#      define HTTP_HAVE_EXT_HASH
+#      include "ext/hash/php_hash.h"
 #endif
 
-ZEND_EXTERN_MODULE_GLOBALS(http);
-
 #define http_etag_digest(d, l) _http_etag_digest((d), (l))
 static inline char *_http_etag_digest(const unsigned char *digest, int len)
 {
@@ -79,11 +77,10 @@ static inline void *_http_etag_init(TSRMLS_D)
 static inline char *_http_etag_finish(void *ctx TSRMLS_DC)
 {
        unsigned char digest[128] = {0};
-       char *etag = NULL;
+       char *etag = NULL, *mode = HTTP_G(etag).mode;
        
 #ifdef HTTP_HAVE_EXT_HASH
        php_hash_ops *eho = NULL;
-       char *mode = HTTP_G(etag).mode;
        
        if (mode && (eho = php_hash_fetch_ops(mode, strlen(mode)))) {
                eho->hash_final(digest, ctx);
@@ -108,9 +105,9 @@ static inline char *_http_etag_finish(void *ctx TSRMLS_DC)
 #define http_etag_update(c, d, l) _http_etag_update((c), (d), (l) TSRMLS_CC)
 static inline void _http_etag_update(void *ctx, const char *data_ptr, size_t data_len TSRMLS_DC)
 {
+       char *mode = HTTP_G(etag).mode;
 #ifdef HTTP_HAVE_EXT_HASH
        php_hash_ops *eho = NULL;
-       char *mode = HTTP_G(etag).mode;
        
        if (mode && (eho = php_hash_fetch_ops(mode, strlen(mode)))) {
                eho->hash_update(ctx, (const unsigned char *) data_ptr, data_len);