do not pretend sha1write returns errors
The sha1write function returns an int, but it will always be "0". The failure-prone parts of the function happen in the "flush" callback, which cannot pass an error back to us. So we just end up calling die() during the flush. Let's just drop the return value altogether, as it only confuses callers into thinking that it might be useful. Only one call site actually checked the return value. We can drop that check, since it just led to a die() anyway. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
7794a680e6
commit
9af270e8c2
@ -737,8 +737,6 @@ static void write_pack_file(void)
|
|||||||
f = create_tmp_packfile(&pack_tmp_name);
|
f = create_tmp_packfile(&pack_tmp_name);
|
||||||
|
|
||||||
offset = write_pack_header(f, nr_remaining);
|
offset = write_pack_header(f, nr_remaining);
|
||||||
if (!offset)
|
|
||||||
die_errno("unable to write pack header");
|
|
||||||
nr_written = 0;
|
nr_written = 0;
|
||||||
for (; i < nr_objects; i++) {
|
for (; i < nr_objects; i++) {
|
||||||
struct object_entry *e = write_order[i];
|
struct object_entry *e = write_order[i];
|
||||||
|
@ -86,7 +86,7 @@ int sha1close(struct sha1file *f, unsigned char *result, unsigned int flags)
|
|||||||
return fd;
|
return fd;
|
||||||
}
|
}
|
||||||
|
|
||||||
int sha1write(struct sha1file *f, void *buf, unsigned int count)
|
void sha1write(struct sha1file *f, void *buf, unsigned int count)
|
||||||
{
|
{
|
||||||
while (count) {
|
while (count) {
|
||||||
unsigned offset = f->offset;
|
unsigned offset = f->offset;
|
||||||
@ -116,7 +116,6 @@ int sha1write(struct sha1file *f, void *buf, unsigned int count)
|
|||||||
}
|
}
|
||||||
f->offset = offset;
|
f->offset = offset;
|
||||||
}
|
}
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struct sha1file *sha1fd(int fd, const char *name)
|
struct sha1file *sha1fd(int fd, const char *name)
|
||||||
|
@ -34,7 +34,7 @@ extern struct sha1file *sha1fd(int fd, const char *name);
|
|||||||
extern struct sha1file *sha1fd_check(const char *name);
|
extern struct sha1file *sha1fd_check(const char *name);
|
||||||
extern struct sha1file *sha1fd_throughput(int fd, const char *name, struct progress *tp);
|
extern struct sha1file *sha1fd_throughput(int fd, const char *name, struct progress *tp);
|
||||||
extern int sha1close(struct sha1file *, unsigned char *, unsigned int);
|
extern int sha1close(struct sha1file *, unsigned char *, unsigned int);
|
||||||
extern int sha1write(struct sha1file *, void *, unsigned int);
|
extern void sha1write(struct sha1file *, void *, unsigned int);
|
||||||
extern void sha1flush(struct sha1file *f);
|
extern void sha1flush(struct sha1file *f);
|
||||||
extern void crc32_begin(struct sha1file *);
|
extern void crc32_begin(struct sha1file *);
|
||||||
extern uint32_t crc32_end(struct sha1file *);
|
extern uint32_t crc32_end(struct sha1file *);
|
||||||
|
@ -189,8 +189,7 @@ off_t write_pack_header(struct sha1file *f, uint32_t nr_entries)
|
|||||||
hdr.hdr_signature = htonl(PACK_SIGNATURE);
|
hdr.hdr_signature = htonl(PACK_SIGNATURE);
|
||||||
hdr.hdr_version = htonl(PACK_VERSION);
|
hdr.hdr_version = htonl(PACK_VERSION);
|
||||||
hdr.hdr_entries = htonl(nr_entries);
|
hdr.hdr_entries = htonl(nr_entries);
|
||||||
if (sha1write(f, &hdr, sizeof(hdr)))
|
sha1write(f, &hdr, sizeof(hdr));
|
||||||
return 0;
|
|
||||||
return sizeof(hdr);
|
return sizeof(hdr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user