X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=http_cache_api.c;h=a03a9616f1dba581c81b7b706681dc268a57c1c1;hp=98cd072aacdd37590ec8c1353c376c7b2ee94be5;hb=c7b95b4b19bbde93d3f142c5653ad5b68229cfcd;hpb=7b88d9022c90eb12e5fe195af8644935141c9d68 diff --git a/http_cache_api.c b/http_cache_api.c index 98cd072..a03a961 100644 --- a/http_cache_api.c +++ b/http_cache_api.c @@ -6,19 +6,15 @@ | modification, are permitted provided that the conditions mentioned | | in the accompanying LICENSE file are met. | +--------------------------------------------------------------------+ - | Copyright (c) 2004-2005, Michael Wallner | + | Copyright (c) 2004-2006, Michael Wallner | +--------------------------------------------------------------------+ */ /* $Id$ */ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - +#define HTTP_WANT_SAPI #include "php_http.h" -#include "SAPI.h" #include "php_output.h" #include "php_streams.h" @@ -69,7 +65,7 @@ PHP_HTTP_API time_t _http_last_modified(const void *data_ptr, http_send_mode dat switch (data_mode) { - case SEND_DATA: return time(NULL); + case SEND_DATA: return HTTP_GET_REQUEST_TIME(); case SEND_RSRC: return php_stream_stat((php_stream *) data_ptr, &ssb) ? 0 : ssb.sb.st_mtime; default: return php_stream_stat_path((char *) data_ptr, &ssb) ? 0 : ssb.sb.st_mtime; } @@ -187,17 +183,17 @@ PHP_HTTP_API STATUS _http_start_ob_etaghandler(TSRMLS_D) return FAILURE; } - HTTP_G(etag).started = 1; - return php_start_ob_buffer_named("ob_etaghandler", HTTP_G(send).buffer_size, 1 TSRMLS_CC); + HTTP_G->etag.started = 1; + return php_start_ob_buffer_named("ob_etaghandler", HTTP_G->send.buffer_size, 1 TSRMLS_CC); } PHP_HTTP_API zend_bool _http_interrupt_ob_etaghandler(TSRMLS_D) { - if (HTTP_G(etag).started) { - HTTP_G(etag).started = 0; - if (HTTP_G(etag).ctx) { - efree(HTTP_G(etag).ctx); - HTTP_G(etag).ctx = NULL; + if (HTTP_G->etag.started) { + HTTP_G->etag.started = 0; + if (HTTP_G->etag.ctx) { + efree(HTTP_G->etag.ctx); + HTTP_G->etag.ctx = NULL; } return 1; } @@ -213,21 +209,21 @@ void _http_ob_etaghandler(char *output, uint output_len, *handled_output = estrndup(output, output_len); /* are we supposed to run? */ - if (HTTP_G(etag).started) { + if (HTTP_G->etag.started) { /* initialize the etag context */ if (mode & PHP_OUTPUT_HANDLER_START) { - HTTP_G(etag).ctx = http_etag_init(); + HTTP_G->etag.ctx = http_etag_init(); } /* update */ - http_etag_update(HTTP_G(etag).ctx, output, output_len); + http_etag_update(HTTP_G->etag.ctx, output, output_len); /* finish */ if (mode & PHP_OUTPUT_HANDLER_END) { char *sent_header = NULL; - char *etag = http_etag_finish(HTTP_G(etag).ctx); + char *etag = http_etag_finish(HTTP_G->etag.ctx); - HTTP_G(etag).ctx = NULL; + HTTP_G->etag.ctx = NULL; http_send_cache_control(HTTP_DEFAULT_CACHECONTROL, lenof(HTTP_DEFAULT_CACHECONTROL)); http_send_etag_ex(etag, strlen(etag), &sent_header);