OSDN Git Service

Fix looping bug, use fullRead
authorGlenn L McGrath <bug1@ihug.co.nz>
Wed, 13 Sep 2000 23:08:07 +0000 (23:08 -0000)
committerGlenn L McGrath <bug1@ihug.co.nz>
Wed, 13 Sep 2000 23:08:07 +0000 (23:08 -0000)
coreutils/dd.c
dd.c

index 5ab0a90..697cb7e 100644 (file)
@@ -140,9 +140,9 @@ extern int dd_main(int argc, char **argv)
        while ((readSize = totalSize - inTotal) > 0) {
                if (readSize > BUFSIZ)
                        readSize=BUFSIZ;
-               inCc = read(inFd, buf, readSize);
+               inCc = fullRead(inFd, buf, readSize);
                inTotal += inCc;
-               if ((outCc = fullWrite(outFd, buf, inCc)) < 0)
+               if ((outCc = fullWrite(outFd, buf, inCc)) < 1)
                        break;
                outTotal += outCc;
         }
diff --git a/dd.c b/dd.c
index 5ab0a90..697cb7e 100644 (file)
--- a/dd.c
+++ b/dd.c
@@ -140,9 +140,9 @@ extern int dd_main(int argc, char **argv)
        while ((readSize = totalSize - inTotal) > 0) {
                if (readSize > BUFSIZ)
                        readSize=BUFSIZ;
-               inCc = read(inFd, buf, readSize);
+               inCc = fullRead(inFd, buf, readSize);
                inTotal += inCc;
-               if ((outCc = fullWrite(outFd, buf, inCc)) < 0)
+               if ((outCc = fullWrite(outFd, buf, inCc)) < 1)
                        break;
                outTotal += outCc;
         }