Merge branch 'jc/zlib-wrap'
* jc/zlib-wrap: zlib: allow feeding more than 4GB in one go zlib: zlib can only process 4GB at a time zlib: wrap deflateBound() too zlib: wrap deflate side of the API zlib: wrap inflateInit2 used to accept only for gzip format zlib: wrap remaining calls to direct inflate/inflateEnd zlib wrapper: refactor error message formatter Conflicts: sha1_file.c
This commit is contained in:
30
cache.h
30
cache.h
@ -17,13 +17,27 @@
|
||||
#endif
|
||||
|
||||
#include <zlib.h>
|
||||
#if defined(NO_DEFLATE_BOUND) || ZLIB_VERNUM < 0x1200
|
||||
#define deflateBound(c,s) ((s) + (((s) + 7) >> 3) + (((s) + 63) >> 6) + 11)
|
||||
#endif
|
||||
typedef struct git_zstream {
|
||||
z_stream z;
|
||||
unsigned long avail_in;
|
||||
unsigned long avail_out;
|
||||
unsigned long total_in;
|
||||
unsigned long total_out;
|
||||
unsigned char *next_in;
|
||||
unsigned char *next_out;
|
||||
} git_zstream;
|
||||
|
||||
void git_inflate_init(z_streamp strm);
|
||||
void git_inflate_end(z_streamp strm);
|
||||
int git_inflate(z_streamp strm, int flush);
|
||||
void git_inflate_init(git_zstream *);
|
||||
void git_inflate_init_gzip_only(git_zstream *);
|
||||
void git_inflate_end(git_zstream *);
|
||||
int git_inflate(git_zstream *, int flush);
|
||||
|
||||
void git_deflate_init(git_zstream *, int level);
|
||||
void git_deflate_init_gzip(git_zstream *, int level);
|
||||
void git_deflate_end(git_zstream *);
|
||||
int git_deflate_end_gently(git_zstream *);
|
||||
int git_deflate(git_zstream *, int flush);
|
||||
unsigned long git_deflate_bound(git_zstream *, unsigned long);
|
||||
|
||||
#if defined(DT_UNKNOWN) && !defined(NO_D_TYPE_IN_DIRENT)
|
||||
#define DTYPE(de) ((de)->d_type)
|
||||
@ -753,7 +767,7 @@ extern int write_sha1_file(const void *buf, unsigned long len, const char *type,
|
||||
extern int pretend_sha1_file(void *, unsigned long, enum object_type, unsigned char *);
|
||||
extern int force_object_loose(const unsigned char *sha1, time_t mtime);
|
||||
extern void *map_sha1_file(const unsigned char *sha1, unsigned long *size);
|
||||
extern int unpack_sha1_header(z_stream *stream, unsigned char *map, unsigned long mapsize, void *buffer, unsigned long bufsiz);
|
||||
extern int unpack_sha1_header(git_zstream *stream, unsigned char *map, unsigned long mapsize, void *buffer, unsigned long bufsiz);
|
||||
extern int parse_sha1_header(const char *hdr, unsigned long *sizep);
|
||||
|
||||
/* global flag to enable extra checks when accessing packed objects */
|
||||
@ -984,7 +998,7 @@ extern struct packed_git *find_sha1_pack(const unsigned char *sha1,
|
||||
extern void pack_report(void);
|
||||
extern int open_pack_index(struct packed_git *);
|
||||
extern void close_pack_index(struct packed_git *);
|
||||
extern unsigned char *use_pack(struct packed_git *, struct pack_window **, off_t, unsigned int *);
|
||||
extern unsigned char *use_pack(struct packed_git *, struct pack_window **, off_t, unsigned long *);
|
||||
extern void close_pack_windows(struct packed_git *);
|
||||
extern void unuse_pack(struct pack_window **);
|
||||
extern void free_pack_by_name(const char *);
|
||||
|
Reference in New Issue
Block a user