提交 23bc886c 编写于 作者: S Shawn O. Pearce

Replace ywrite in fast-import with the standard write_or_die.

Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
上级 243f801d
......@@ -586,19 +586,6 @@ static void yread(int fd, void *buffer, size_t length)
}
}
static void ywrite(int fd, void *buffer, size_t length)
{
ssize_t ret = 0;
while (ret < length) {
ssize_t size = xwrite(fd, (char *) buffer + ret, length - ret);
if (!size)
die("Write to descriptor %i: end of file", fd);
if (size < 0)
die("Write to descriptor %i: %s", fd, strerror(errno));
ret += size;
}
}
static size_t encode_header(
enum object_type type,
size_t size,
......@@ -675,8 +662,8 @@ static int store_object(
s.next_in = delta;
s.avail_in = deltalen;
hdrlen = encode_header(OBJ_DELTA, deltalen, hdr);
ywrite(pack_fd, hdr, hdrlen);
ywrite(pack_fd, last->sha1, sizeof(sha1));
write_or_die(pack_fd, hdr, hdrlen);
write_or_die(pack_fd, last->sha1, sizeof(sha1));
pack_size += hdrlen + sizeof(sha1);
} else {
if (last)
......@@ -684,7 +671,7 @@ static int store_object(
s.next_in = dat;
s.avail_in = datlen;
hdrlen = encode_header(type, datlen, hdr);
ywrite(pack_fd, hdr, hdrlen);
write_or_die(pack_fd, hdr, hdrlen);
pack_size += hdrlen;
}
......@@ -694,7 +681,7 @@ static int store_object(
/* nothing */;
deflateEnd(&s);
ywrite(pack_fd, out, s.total_out);
write_or_die(pack_fd, out, s.total_out);
pack_size += s.total_out;
free(out);
......@@ -1117,7 +1104,7 @@ static void init_pack_header()
hdr.hdr_version = htonl(2);
hdr.hdr_entries = 0;
ywrite(pack_fd, &hdr, sizeof(hdr));
write_or_die(pack_fd, &hdr, sizeof(hdr));
pack_size = sizeof(hdr);
}
......@@ -1138,7 +1125,7 @@ static void fixup_header_footer()
cnt = htonl(object_count);
SHA1_Update(&c, &cnt, 4);
ywrite(pack_fd, &cnt, 4);
write_or_die(pack_fd, &cnt, 4);
buf = xmalloc(128 * 1024);
for (;;) {
......@@ -1150,7 +1137,7 @@ static void fixup_header_footer()
free(buf);
SHA1_Final(pack_sha1, &c);
ywrite(pack_fd, pack_sha1, sizeof(pack_sha1));
write_or_die(pack_fd, pack_sha1, sizeof(pack_sha1));
}
static int oecmp (const void *_a, const void *_b)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册