From: Remi Collet Date: Mon, 1 Sep 2014 13:42:34 +0000 (+0200) Subject: fix etag/crc32b on bigendian X-Git-Tag: RELEASE_2_2_0_RC1~13 X-Git-Url: https://git.m6w6.name/?a=commitdiff_plain;h=3d6705fe0e8bd96f173d4a803107d8053ef38e96;p=m6w6%2Fext-http fix etag/crc32b on bigendian --- 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);