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 /coreutils | |
parent | 2f59bf39e2ea6fb4c3ed3e74ea113a521e1a3558 (diff) | |
download | busybox-w32-0f7f1ae094f4124303aca58f4efa69da4e2831a6.tar.gz busybox-w32-0f7f1ae094f4124303aca58f4efa69da4e2831a6.tar.bz2 busybox-w32-0f7f1ae094f4124303aca58f4efa69da4e2831a6.zip |
shred: smaller code
function old new delta
shred_main 361 356 -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'coreutils')
-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) | |||
66 | 66 | ||
67 | for (;;) { | 67 | for (;;) { |
68 | struct stat sb; | 68 | struct stat sb; |
69 | const char *fname; | ||
69 | unsigned i; | 70 | unsigned i; |
70 | int fd = -1; | 71 | int fd; |
71 | 72 | ||
73 | fname = *argv++; | ||
74 | if (!fname) | ||
75 | break; | ||
76 | fd = -1; | ||
72 | if (opt & OPT_f) { | 77 | if (opt & OPT_f) { |
73 | fd = open(*argv, O_WRONLY); | 78 | fd = open(fname, O_WRONLY); |
74 | if (fd < 0) | 79 | if (fd < 0) |
75 | chmod(*argv, 0666); | 80 | chmod(fname, 0666); |
76 | } | 81 | } |
77 | if (fd < 0) | 82 | if (fd < 0) |
78 | fd = xopen(*argv, O_WRONLY); | 83 | fd = xopen(fname, O_WRONLY); |
79 | 84 | ||
80 | if (fstat(fd, &sb) == 0 && sb.st_size > 0) { | 85 | if (fstat(fd, &sb) == 0 && sb.st_size > 0) { |
81 | off_t size = sb.st_size; | 86 | off_t size = sb.st_size; |
@@ -91,13 +96,10 @@ int shred_main(int argc UNUSED_PARAM, char **argv) | |||
91 | } | 96 | } |
92 | if (opt & OPT_u) { | 97 | if (opt & OPT_u) { |
93 | ftruncate(fd, 0); | 98 | ftruncate(fd, 0); |
94 | xunlink(*argv); | 99 | xunlink(fname); |
95 | } | 100 | } |
96 | xclose(fd); | 101 | xclose(fd); |
97 | } | 102 | } |
98 | argv++; | ||
99 | if (!*argv) | ||
100 | break; | ||
101 | } | 103 | } |
102 | 104 | ||
103 | return EXIT_SUCCESS; | 105 | return EXIT_SUCCESS; |