From 3d6705fe0e8bd96f173d4a803107d8053ef38e96 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 1 Sep 2014 15:42:34 +0200 Subject: [PATCH] fix etag/crc32b on bigendian --- php_http_etag.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/php_http_etag.c b/php_http_etag.c index 4562324..3604ad8 100644 --- a/php_http_etag.c +++ b/php_http_etag.c @@ -61,11 +61,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); -- 2.30.2