X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=unpack-objects.c;h=4b5b5cb3e22454fe487002f698272a19a1d8861d;hb=f7a3d33f0f93eba4db61819b289df76a32d61b1b;hp=8490895cf02df538327fa79bc0b2ffff2f06bd84;hpb=b2309b70197f9067cb32a620465a9b3477d8f0c3;p=git.git diff --git a/unpack-objects.c b/unpack-objects.c index 8490895c..4b5b5cb3 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,10 @@ int main(int argc, char **argv) int i; unsigned char sha1[20]; + setup_git_directory(); + + quiet = !isatty(2); + for (i = 1 ; i < argc; i++) { const char *arg = argv[i]; @@ -297,14 +299,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; }