diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2017-04-07 21:10:00 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2017-04-07 21:10:00 +0200 |
commit | 0f7f1ae094f4124303aca58f4efa69da4e2831a6 (patch) | |
tree | 8de39334ea5dacd81a400db25b170eb2590a98f7 | |
parent | 2f59bf39e2ea6fb4c3ed3e74ea113a521e1a3558 (diff) | |
download | busybox-0f7f1ae094f4124303aca58f4efa69da4e2831a6.tar.gz |
shred: smaller code
function old new delta
shred_main 361 356 -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | coreutils/shred.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/coreutils/shred.c b/coreutils/shred.c index 9cd39b79c..b3c009539 100644 --- a/coreutils/shred.c +++ b/coreutils/shred.c @@ -66,16 +66,21 @@ int shred_main(int argc UNUSED_PARAM, char **argv) for (;;) { struct stat sb; + const char *fname; unsigned i; - int fd = -1; + int fd; + fname = *argv++; + if (!fname) + break; + fd = -1; if (opt & OPT_f) { - fd = open(*argv, O_WRONLY); + fd = open(fname, O_WRONLY); if (fd < 0) - chmod(*argv, 0666); + chmod(fname, 0666); } if (fd < 0) - fd = xopen(*argv, O_WRONLY); + fd = xopen(fname, O_WRONLY); if (fstat(fd, &sb) == 0 && sb.st_size > 0) { off_t size = sb.st_size; @@ -91,13 +96,10 @@ int shred_main(int argc UNUSED_PARAM, char **argv) } if (opt & OPT_u) { ftruncate(fd, 0); - xunlink(*argv); + xunlink(fname); } xclose(fd); } - argv++; - if (!*argv) - break; } return EXIT_SUCCESS; |