Fix VC++ 2015 64-bit truncation warning in zlib

VC++ 2015 64-bit builds were giving this warning:
crc_folding.c(286): warning C4311: 'type cast': pointer truncation from
  'const unsigned char *' to 'unsigned long'

Converting from unsigned char* to long is normally dodgy but is safe in
this case because of the masking with 0xF. Casting through uintptr_t is
sufficient to allay VC++'s fears that we are making a mistake.

R=pkasting@chromium.org,gavinp@chromium.org
BUG=440500

Review URL: https://codereview.chromium.org/1384773002

Cr-Original-Commit-Position: refs/heads/master@{#352900}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b474ca01fcc5376eb538f71e524351e52319d396
diff --git a/crc_folding.c b/crc_folding.c
index 98c559c..48d7774 100644
--- a/crc_folding.c
+++ b/crc_folding.c
@@ -283,7 +283,7 @@
         goto partial;
     }
 
-    algn_diff = 0 - (unsigned long)src & 0xF;
+    algn_diff = 0 - (uintptr_t)src & 0xF;
     if (algn_diff) {
         xmm_crc_part = _mm_loadu_si128((__m128i *)src);
         _mm_storeu_si128((__m128i *)dst, xmm_crc_part);