X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=unpack-objects.c;h=5c5cb12f6fa2a9a8fe061c2e75380c8b9e7ebaf1;hb=975b31dc6e12fba8f7b067ddbe32230995e05400;hp=8490895cf02df538327fa79bc0b2ffff2f06bd84;hpb=56fc63193975edd4b9f520b6c65c2b97ecd8ee38;p=git.git diff --git a/unpack-objects.c b/unpack-objects.c index 8490895c..5c5cb12f 100644 --- a/unpack-objects.c +++ b/unpack-objects.c @@ -31,12 +31,10 @@ static void * fill(int min) offset = 0; } do { - int ret = read(0, buffer + len, sizeof(buffer) - len); + int ret = xread(0, buffer + len, sizeof(buffer) - len); if (ret <= 0) { if (!ret) die("early EOF"); - if (errno == EAGAIN || errno == EINTR) - continue; die("read error on input: %s", strerror(errno)); } len += ret; @@ -269,6 +267,8 @@ int main(int argc, char **argv) int i; unsigned char sha1[20]; + setup_git_directory(); + for (i = 1 ; i < argc; i++) { const char *arg = argv[i]; @@ -297,14 +297,9 @@ int main(int argc, char **argv) /* Write the last part of the buffer to stdout */ while (len) { - int ret = write(1, buffer + offset, len); - if (!ret) + int ret = xwrite(1, buffer + offset, len); + if (ret <= 0) break; - if (ret < 0) { - if (errno == EAGAIN || errno == EINTR) - continue; - break; - } len -= ret; offset += ret; }