[git commit] shred: smaller code

Denys Vlasenko vda.linux at googlemail.com
Fri Apr 7 19:10:00 UTC 2017


commit: https://git.busybox.net/busybox/commit/?id=0f7f1ae094f4124303aca58f4efa69da4e2831a6
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
shred_main                                           361     356      -5

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 coreutils/shred.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/coreutils/shred.c b/coreutils/shred.c
index 9cd39b7..b3c0095 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;


More information about the busybox-cvs mailing list