Re: [PATCH v3 00/13] Next size_t stop: pack-objects/delta

Junio C Hamano <[email protected]>
Newsgroups org.kernel.vger.git
Message-ID <[email protected]>
"Johannes Schindelin via GitGitGadget" <[email protected]>
writes:

> This patch series continues the effort to stop using unsigned long where
> size_t should have been used in the first place. This makes a difference on
> 64-bit Windows, where unsigned long is 32-bit.
>
> With these fixes, the pack-objects machinery works as intended on 64-bit
> Windows (and any other 64-bit platform where unsigned long isn't 64-bit).
>
> Changes since v2:
>
>  * Now zlib_cap_buf() is also widened in this patch series (I had left this
>    for a later one, originally).
>  * The unpack_object_header_buffer() function is now also widened in this
>    here patch series.

Both changes relative to v1 are just as expected.  Nicely corrected.

>   7:  ca928b4579 !  7:  e4528f9034 packfile, git-zlib: widen `use_pack()` and zstream avail fields to `size_t`
>      @@ builtin/pack-objects.c: size_t oe_get_size_slow(struct packing_data *pack,
>        	if (e->type_ != OBJ_OFS_DELTA && e->type_ != OBJ_REF_DELTA) {
>        		size_t sz;
>       
>      + ## git-zlib.c ##
>      +@@ git-zlib.c: static const char *zerr_to_string(int status)
>      + 
>      + /* uLong is 32-bit on Windows, even on 64-bit systems */
>      + #define ULONG_MAX_VALUE maximum_unsigned_value_of_type(uLong)
>      +-static inline uInt zlib_buf_cap(unsigned long len)
>      ++static inline uInt zlib_buf_cap(size_t len)
>      + {
>      + 	return (ZLIB_BUF_MAX < len) ? ZLIB_BUF_MAX : len;
>      + }
>      +
>        ## git-zlib.h ##
>       @@
>        
>   -:  ---------- > 13:  bc4a58336a packfile: widen `unpack_object_header_buffer()` to `size_t`


IIRC, there are some topics in flight that have their own local
workaround for some members this series fixes the type from ulong to
size_t and they may need to be adjusted but in a good way ;-).

Thanks.  Will replace.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.