X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=fetch-clone.c;h=76b99afcdb8556fec284a621bbdc76223845877e;hb=76c3eb51ede4619116ef980aa34d087c97c25cbc;hp=c16b0c481bb4b7dd3810e7dfbcb21243572f6844;hpb=160a59f326d55970f8a038ef635c662b9c648c75;p=git.git diff --git a/fetch-clone.c b/fetch-clone.c index c16b0c481..76b99afcd 100644 --- a/fetch-clone.c +++ b/fetch-clone.c @@ -1,6 +1,7 @@ #include "cache.h" #include "exec_cmd.h" #include "pkt-line.h" +#include "sideband.h" #include #include @@ -44,9 +45,8 @@ static int finish_pack(const char *pack_tmp_name, const char *me) for (;;) { int status, code; - int retval = waitpid(pid, &status, 0); - if (retval < 0) { + if (waitpid(pid, &status, 0) < 0) { if (errno == EINTR) continue; error("waitpid failed (%s)", strerror(errno)); @@ -118,31 +118,8 @@ static pid_t setup_sideband(int sideband, const char *me, int fd[2], int xd[2]) close(fd[0]); if (xd[0] != xd[1]) close(xd[1]); - while (1) { - char buf[1024]; - int len = packet_read_line(xd[0], buf, sizeof(buf)); - if (len == 0) - break; - if (len < 1) - die("%s: protocol error: no band designator", - me); - len--; - switch (buf[0] & 0xFF) { - case 3: - safe_write(2, buf+1, len); - fprintf(stderr, "\n"); - exit(1); - case 2: - safe_write(2, buf+1, len); - continue; - case 1: - safe_write(fd[1], buf+1, len); - continue; - default: - die("%s: protocol error: bad band #%d", - me, (buf[0] & 0xFF)); - } - } + if (recv_sideband(me, xd[0], fd[1], 2)) + exit(1); exit(0); } close(xd[0]); @@ -198,8 +175,8 @@ int receive_unpack_pack(int xd[2], const char *me, int quiet, int sideband) /* * A "binary msec" is a power-of-two-msec, aka 1/1024th of a second. - * Keeing the time in that format means that "bytes / msecs" means - * is the same as kB/s (modulo rounding). + * Keeping the time in that format means that "bytes / msecs" means + * the same as kB/s (modulo rounding). * * 1000512 is a magic number (usecs in a second, rounded up by half * of 1024, to make "rounding" come out right ;)