release 2.4.0
[m6w6/ext-http] / php_http_etag.c
index 72a7927e6ac0ab451c3dd625eb114a2b050b65ed..3604ad8673957f6ca4f52f35420fe06cb15eae14 100644 (file)
@@ -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 <mike@php.net>            |
+    | Copyright (c) 2004-2014, Michael Wallner <mike@php.net>            |
     +--------------------------------------------------------------------+
 */
 
@@ -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);