X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_etag.c;h=1ebddb35d4a7b283db6cc07c954133bbbde18c2e;hp=72a7927e6ac0ab451c3dd625eb114a2b050b65ed;hb=cd3cad9da098f0dae2997dd6a52a907bfaaf6041;hpb=87db9817d428282792c8146d9c2ae9748ebf6f1e diff --git a/php_http_etag.c b/php_http_etag.c index 72a7927..1ebddb3 100644 --- a/php_http_etag.c +++ b/php_http_etag.c @@ -6,7 +6,7 @@ | modification, are permitted provided that the conditions mentioned | | in the accompanying LICENSE file are met. | +--------------------------------------------------------------------+ - | Copyright (c) 2004-2013, Michael Wallner | + | Copyright (c) 2004-2014, Michael Wallner | +--------------------------------------------------------------------+ */ @@ -20,7 +20,7 @@ #include #include -php_http_etag_t *php_http_etag_init(const char *mode TSRMLS_DC) +php_http_etag_t *php_http_etag_init(const char *mode) { void *ctx; php_http_etag_t *e; @@ -47,7 +47,6 @@ php_http_etag_t *php_http_etag_init(const char *mode TSRMLS_DC) e = emalloc(sizeof(*e)); e->ctx = ctx; e->mode = estrdup(mode); - TSRMLS_SET_CTX(e->ts); return e; } @@ -61,11 +60,15 @@ char *php_http_etag_finish(php_http_etag_t *e) unsigned char buf[4]; *((uint *) e->ctx) = ~*((uint *) e->ctx); +#ifdef WORDS_BIGENDIAN + etag = php_http_etag_digest((unsigned char *) e->ctx, 4); +#else buf[0] = ((unsigned char *) e->ctx)[3]; buf[1] = ((unsigned char *) e->ctx)[2]; buf[2] = ((unsigned char *) e->ctx)[1]; buf[3] = ((unsigned char *) e->ctx)[0]; etag = php_http_etag_digest(buf, 4); +#endif } else if ((!strcasecmp(e->mode, "sha1"))) { PHP_SHA1Final(digest, e->ctx); etag = php_http_etag_digest(digest, 20);