Fix a type mismatch in the hashing code in the xdelta implementation that was introduced in r1223035 by changing block position slot to a 32-bit type. On 64-bit platforms, this caused the position calculations to implicitly narrow 64-bit size_t indexes to 32-bit uint32_t.  Whilst this narrowing was safe given the size of the delta window, the resulting compiler warnings were annoying.
Fix a type mismatch in the hashing code in the xdelta implementation that was
introduced in r1223035 by changing block position slot to a 32-bit type.
On 64-bit platforms, this caused the position calculations to implicitly
narrow 64-bit size_t indexes to 32-bit uint32_t.  Whilst this narrowing was
safe given the size of the delta window, the resulting compiler warnings
were annoying.

* subversion/libsvn_delta/xdelta.c (struct blocks):
  Change the type of the max member to apr_uint32_t from apr_size_t.
  (add_block): Change the pos parameter to apr_uint32_t from apr_size_t.
  (init_blocks_table): Explicitly cast the calculated number of hash table
  slots to apr_uint32_t and add a sanity check to verify that the potentially
  narrowing cast did not affect the value.


git-svn-id: f8a4e5e023278da1e04e203c7fe051e3c4285d88@1348533 13f79535-47bb-0310-9956-ffa450edef68

YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion