зеркало из https://github.com/microsoft/git.git
fix const-correctness of write_sha1_file
These should take const buffers as input data, but zlib's next_in pointer is not const-correct. Let's fix it at the zlib level, though, so the cast happens in one obvious place. This should be safe, as a similar cast is used in zlib's example code for a const array. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
890a13a452
Коммит
c00e657df2
2
cache.h
2
cache.h
|
@ -701,7 +701,7 @@ static inline void *read_sha1_file(const unsigned char *sha1, enum object_type *
|
|||
return read_sha1_file_repl(sha1, type, size, NULL);
|
||||
}
|
||||
extern int hash_sha1_file(const void *buf, unsigned long len, const char *type, unsigned char *sha1);
|
||||
extern int write_sha1_file(void *buf, unsigned long len, const char *type, unsigned char *return_sha1);
|
||||
extern int write_sha1_file(const void *buf, unsigned long len, const char *type, unsigned char *return_sha1);
|
||||
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);
|
||||
|
||||
|
|
|
@ -2271,7 +2271,7 @@ static int create_tmpfile(char *buffer, size_t bufsiz, const char *filename)
|
|||
}
|
||||
|
||||
static int write_loose_object(const unsigned char *sha1, char *hdr, int hdrlen,
|
||||
void *buf, unsigned long len, time_t mtime)
|
||||
const void *buf, unsigned long len, time_t mtime)
|
||||
{
|
||||
int fd, ret;
|
||||
unsigned char compressed[4096];
|
||||
|
@ -2307,7 +2307,7 @@ static int write_loose_object(const unsigned char *sha1, char *hdr, int hdrlen,
|
|||
git_SHA1_Update(&c, hdr, hdrlen);
|
||||
|
||||
/* Then the data itself.. */
|
||||
stream.next_in = buf;
|
||||
stream.next_in = (void *)buf;
|
||||
stream.avail_in = len;
|
||||
do {
|
||||
unsigned char *in0 = stream.next_in;
|
||||
|
@ -2342,7 +2342,7 @@ static int write_loose_object(const unsigned char *sha1, char *hdr, int hdrlen,
|
|||
return move_temp_to_file(tmpfile, filename);
|
||||
}
|
||||
|
||||
int write_sha1_file(void *buf, unsigned long len, const char *type, unsigned char *returnsha1)
|
||||
int write_sha1_file(const void *buf, unsigned long len, const char *type, unsigned char *returnsha1)
|
||||
{
|
||||
unsigned char sha1[20];
|
||||
char hdr[32];
|
||||
|
|
Загрузка…
Ссылка в новой задаче