dd: code shrink
authorDenys Vlasenko <vda.linux@googlemail.com>
Tue, 20 Aug 2013 10:45:05 +0000 (12:45 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Tue, 20 Aug 2013 10:45:05 +0000 (12:45 +0200)
function                                             old     new   delta
dd_main                                             1487    1475     -12

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
coreutils/dd.c

index e046ff5..9299f58 100644 (file)
@@ -363,13 +363,13 @@ int dd_main(int argc UNUSED_PARAM, char **argv)
        }
        if (skip) {
                if (lseek(ifd, skip * ibs, SEEK_CUR) < 0) {
-                       while (skip-- > 0) {
+                       do {
                                ssize_t n = safe_read(ifd, ibuf, ibs);
                                if (n < 0)
                                        goto die_infile;
                                if (n == 0)
                                        break;
-                       }
+                       } while (--skip != 0);
                }
        }
        if (seek) {