Merge branch 'mk/use-size-t-in-zlib' into pu

The wrapper to call into zlib followed our long tradition to use
"unsigned long" for sizes of regions in memory, which have been
updated to use "size_t".

* mk/use-size-t-in-zlib:
  zlib.c: use size_t for size
This commit is contained in:
Junio C Hamano
2020-06-19 14:52:45 -07:00
6 changed files with 20 additions and 19 deletions

View File

@ -288,12 +288,12 @@ static void copy_pack_data(struct hashfile *f,
off_t len) off_t len)
{ {
unsigned char *in; unsigned char *in;
unsigned long avail; size_t avail;
while (len) { while (len) {
in = use_pack(p, w_curs, offset, &avail); in = use_pack(p, w_curs, offset, &avail);
if (avail > len) if (avail > len)
avail = (unsigned long)len; avail = xsize_t(len);
hashwrite(f, in, avail); hashwrite(f, in, avail);
offset += avail; offset += avail;
len -= avail; len -= avail;
@ -1714,8 +1714,8 @@ static void check_object(struct object_entry *entry)
int have_base = 0; int have_base = 0;
struct object_id base_ref; struct object_id base_ref;
struct object_entry *base_entry; struct object_entry *base_entry;
unsigned long used, used_0; size_t used, used_0;
unsigned long avail; size_t avail;
off_t ofs; off_t ofs;
unsigned char *buf, c; unsigned char *buf, c;
enum object_type type; enum object_type type;
@ -2176,7 +2176,8 @@ unsigned long oe_get_size_slow(struct packing_data *pack,
struct pack_window *w_curs; struct pack_window *w_curs;
unsigned char *buf; unsigned char *buf;
enum object_type type; enum object_type type;
unsigned long used, avail, size; unsigned long used, size;
size_t avail;
if (e->type_ != OBJ_OFS_DELTA && e->type_ != OBJ_REF_DELTA) { if (e->type_ != OBJ_OFS_DELTA && e->type_ != OBJ_REF_DELTA) {
packing_data_lock(&to_pack); packing_data_lock(&to_pack);

10
cache.h
View File

@ -21,10 +21,10 @@
#include <zlib.h> #include <zlib.h>
typedef struct git_zstream { typedef struct git_zstream {
z_stream z; z_stream z;
unsigned long avail_in; size_t avail_in;
unsigned long avail_out; size_t avail_out;
unsigned long total_in; size_t total_in;
unsigned long total_out; size_t total_out;
unsigned char *next_in; unsigned char *next_in;
unsigned char *next_out; unsigned char *next_out;
} git_zstream; } git_zstream;
@ -41,7 +41,7 @@ void git_deflate_end(git_zstream *);
int git_deflate_abort(git_zstream *); int git_deflate_abort(git_zstream *);
int git_deflate_end_gently(git_zstream *); int git_deflate_end_gently(git_zstream *);
int git_deflate(git_zstream *, int flush); int git_deflate(git_zstream *, int flush);
unsigned long git_deflate_bound(git_zstream *, unsigned long); size_t git_deflate_bound(git_zstream *, size_t);
#if defined(DT_UNKNOWN) && !defined(NO_D_TYPE_IN_DIRENT) #if defined(DT_UNKNOWN) && !defined(NO_D_TYPE_IN_DIRENT)
#define DTYPE(de) ((de)->d_type) #define DTYPE(de) ((de)->d_type)

View File

@ -29,7 +29,7 @@ int check_pack_crc(struct packed_git *p, struct pack_window **w_curs,
uint32_t data_crc = crc32(0, NULL, 0); uint32_t data_crc = crc32(0, NULL, 0);
do { do {
unsigned long avail; size_t avail;
void *data = use_pack(p, w_curs, offset, &avail); void *data = use_pack(p, w_curs, offset, &avail);
if (avail > len) if (avail > len)
avail = len; avail = len;
@ -65,7 +65,7 @@ static int verify_packfile(struct repository *r,
r->hash_algo->init_fn(&ctx); r->hash_algo->init_fn(&ctx);
do { do {
unsigned long remaining; size_t remaining;
unsigned char *in = use_pack(p, w_curs, offset, &remaining); unsigned char *in = use_pack(p, w_curs, offset, &remaining);
offset += remaining; offset += remaining;
if (!pack_sig_ofs) if (!pack_sig_ofs)

View File

@ -613,7 +613,7 @@ static int in_window(struct pack_window *win, off_t offset)
unsigned char *use_pack(struct packed_git *p, unsigned char *use_pack(struct packed_git *p,
struct pack_window **w_cursor, struct pack_window **w_cursor,
off_t offset, off_t offset,
unsigned long *left) size_t *left)
{ {
struct pack_window *win = *w_cursor; struct pack_window *win = *w_cursor;
@ -1133,7 +1133,7 @@ int unpack_object_header(struct packed_git *p,
unsigned long *sizep) unsigned long *sizep)
{ {
unsigned char *base; unsigned char *base;
unsigned long left; size_t left;
unsigned long used; unsigned long used;
enum object_type type; enum object_type type;

View File

@ -87,7 +87,7 @@ int close_pack_fd(struct packed_git *p);
uint32_t get_pack_fanout(struct packed_git *p, uint32_t value); uint32_t get_pack_fanout(struct packed_git *p, uint32_t value);
unsigned char *use_pack(struct packed_git *, struct pack_window **, off_t, unsigned long *); unsigned char *use_pack(struct packed_git *, struct pack_window **, off_t, size_t *);
void close_pack_windows(struct packed_git *); void close_pack_windows(struct packed_git *);
void close_pack(struct packed_git *); void close_pack(struct packed_git *);
void close_object_store(struct raw_object_store *o); void close_object_store(struct raw_object_store *o);

8
zlib.c
View File

@ -29,7 +29,7 @@ static const char *zerr_to_string(int status)
*/ */
/* #define ZLIB_BUF_MAX ((uInt)-1) */ /* #define ZLIB_BUF_MAX ((uInt)-1) */
#define ZLIB_BUF_MAX ((uInt) 1024 * 1024 * 1024) /* 1GB */ #define ZLIB_BUF_MAX ((uInt) 1024 * 1024 * 1024) /* 1GB */
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; return (ZLIB_BUF_MAX < len) ? ZLIB_BUF_MAX : len;
} }
@ -46,8 +46,8 @@ static void zlib_pre_call(git_zstream *s)
static void zlib_post_call(git_zstream *s) static void zlib_post_call(git_zstream *s)
{ {
unsigned long bytes_consumed; size_t bytes_consumed;
unsigned long bytes_produced; size_t bytes_produced;
bytes_consumed = s->z.next_in - s->next_in; bytes_consumed = s->z.next_in - s->next_in;
bytes_produced = s->z.next_out - s->next_out; bytes_produced = s->z.next_out - s->next_out;
@ -150,7 +150,7 @@ int git_inflate(git_zstream *strm, int flush)
#define deflateBound(c,s) ((s) + (((s) + 7) >> 3) + (((s) + 63) >> 6) + 11) #define deflateBound(c,s) ((s) + (((s) + 7) >> 3) + (((s) + 63) >> 6) + 11)
#endif #endif
unsigned long git_deflate_bound(git_zstream *strm, unsigned long size) size_t git_deflate_bound(git_zstream *strm, size_t size)
{ {
return deflateBound(&strm->z, size); return deflateBound(&strm->z, size);
} }