Skip to content

Commit 8ff6dbb

Browse files
committed
hash: xxhash: Use canonicalization routine from existing API
Signed-off-by: Anatol Belski <[email protected]>
1 parent d5a15d2 commit 8ff6dbb

File tree

1 file changed

+4
-44
lines changed

1 file changed

+4
-44
lines changed

ext/hash/hash_xxhash.c

Lines changed: 4 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -63,12 +63,7 @@ PHP_HASH_API void PHP_XXH32Update(PHP_XXH32_CTX *ctx, const unsigned char *in, s
6363

6464
PHP_HASH_API void PHP_XXH32Final(unsigned char digest[4], PHP_XXH32_CTX *ctx)
6565
{
66-
XXH32_hash_t const h = XXH32_digest(&ctx->s);
67-
68-
digest[0] = (unsigned char)((h >> 24) & 0xff);
69-
digest[1] = (unsigned char)((h >> 16) & 0xff);
70-
digest[2] = (unsigned char)((h >> 8) & 0xff);
71-
digest[3] = (unsigned char)(h & 0xff);
66+
XXH32_canonicalFromHash((XXH32_canonical_t*)digest, XXH32_digest(&ctx->s));
7267
}
7368

7469
PHP_HASH_API int PHP_XXH32Copy(const php_hash_ops *ops, PHP_XXH32_CTX *orig_context, PHP_XXH32_CTX *copy_context)
@@ -132,16 +127,7 @@ PHP_HASH_API void PHP_XXH64Update(PHP_XXH64_CTX *ctx, const unsigned char *in, s
132127

133128
PHP_HASH_API void PHP_XXH64Final(unsigned char digest[8], PHP_XXH64_CTX *ctx)
134129
{
135-
XXH64_hash_t const h = XXH64_digest(&ctx->s);
136-
137-
digest[0] = (unsigned char)((h >> 56) & 0xff);
138-
digest[1] = (unsigned char)((h >> 48) & 0xff);
139-
digest[2] = (unsigned char)((h >> 40) & 0xff);
140-
digest[3] = (unsigned char)((h >> 32) & 0xff);
141-
digest[4] = (unsigned char)((h >> 24) & 0xff);
142-
digest[5] = (unsigned char)((h >> 16) & 0xff);
143-
digest[6] = (unsigned char)((h >> 8) & 0xff);
144-
digest[7] = (unsigned char)(h & 0xff);
130+
XXH64_canonicalFromHash((XXH64_canonical_t*)digest, XXH64_digest(&ctx->s));
145131
}
146132

147133
PHP_HASH_API int PHP_XXH64Copy(const php_hash_ops *ops, PHP_XXH64_CTX *orig_context, PHP_XXH64_CTX *copy_context)
@@ -219,16 +205,7 @@ PHP_HASH_API void PHP_XXH3_64_Update(PHP_XXH3_64_CTX *ctx, const unsigned char *
219205

220206
PHP_HASH_API void PHP_XXH3_64_Final(unsigned char digest[8], PHP_XXH3_64_CTX *ctx)
221207
{
222-
XXH64_hash_t const h = XXH3_64bits_digest(&ctx->s);
223-
224-
digest[0] = (unsigned char)((h >> 56) & 0xff);
225-
digest[1] = (unsigned char)((h >> 48) & 0xff);
226-
digest[2] = (unsigned char)((h >> 40) & 0xff);
227-
digest[3] = (unsigned char)((h >> 32) & 0xff);
228-
digest[4] = (unsigned char)((h >> 24) & 0xff);
229-
digest[5] = (unsigned char)((h >> 16) & 0xff);
230-
digest[6] = (unsigned char)((h >> 8) & 0xff);
231-
digest[7] = (unsigned char)(h & 0xff);
208+
XXH64_canonicalFromHash((XXH64_canonical_t*)digest, XXH3_64bits_digest(&ctx->s));
232209
}
233210

234211
PHP_HASH_API int PHP_XXH3_64_Copy(const php_hash_ops *ops, PHP_XXH3_64_CTX *orig_context, PHP_XXH3_64_CTX *copy_context)
@@ -278,24 +255,7 @@ PHP_HASH_API void PHP_XXH3_128_Update(PHP_XXH3_128_CTX *ctx, const unsigned char
278255

279256
PHP_HASH_API void PHP_XXH3_128_Final(unsigned char digest[16], PHP_XXH3_128_CTX *ctx)
280257
{
281-
XXH128_hash_t const h = XXH3_128bits_digest(&ctx->s);
282-
283-
digest[0] = (unsigned char)((h.high64 >> 56) & 0xff);
284-
digest[1] = (unsigned char)((h.high64 >> 48) & 0xff);
285-
digest[2] = (unsigned char)((h.high64 >> 40) & 0xff);
286-
digest[3] = (unsigned char)((h.high64 >> 32) & 0xff);
287-
digest[4] = (unsigned char)((h.high64 >> 24) & 0xff);
288-
digest[5] = (unsigned char)((h.high64 >> 16) & 0xff);
289-
digest[6] = (unsigned char)((h.high64 >> 8) & 0xff);
290-
digest[7] = (unsigned char)(h.high64 & 0xff);
291-
digest[8] = (unsigned char)((h.low64 >> 56) & 0xff);
292-
digest[9] = (unsigned char)((h.low64 >> 48) & 0xff);
293-
digest[10] = (unsigned char)((h.low64 >> 40) & 0xff);
294-
digest[11] = (unsigned char)((h.low64 >> 32) & 0xff);
295-
digest[12] = (unsigned char)((h.low64 >> 24) & 0xff);
296-
digest[13] = (unsigned char)((h.low64 >> 16) & 0xff);
297-
digest[14] = (unsigned char)((h.low64 >> 8) & 0xff);
298-
digest[15] = (unsigned char)(h.low64 & 0xff);
258+
XXH128_canonicalFromHash((XXH128_canonical_t*)digest, XXH3_128bits_digest(&ctx->s));
299259
}
300260

301261
PHP_HASH_API int PHP_XXH3_128_Copy(const php_hash_ops *ops, PHP_XXH3_128_CTX *orig_context, PHP_XXH3_128_CTX *copy_context)

0 commit comments

Comments
 (0)