diff --git a/miscutils/strings.c b/miscutils/strings.c index d0a092421..111aa94ba 100644 --- a/miscutils/strings.c +++ b/miscutils/strings.c @@ -99,9 +99,9 @@ PIPE: status=EXIT_FAILURE; } } while ( --argc > 0 ); -#ifdef CONFIG_FEATURE_CLEAN_UP - free(string); -#endif + + if (ENABLE_FEATURE_CLEAN_UP) free(string); + bb_fflush_stdout_and_exit(status); } diff --git a/util-linux/fdflush.c b/util-linux/fdflush.c index c3fcf3325..f3afea320 100644 --- a/util-linux/fdflush.c +++ b/util-linux/fdflush.c @@ -35,15 +35,15 @@ extern int fdflush_main(int argc, char **argv) { int fd, result; - if (argc <= 1) + if (argc != 2) bb_show_usage(); fd = bb_xopen(argv[1], 0); result = ioctl(fd, FDFLUSH, 0); -#ifdef CONFIG_FEATURE_CLEAN_UP - close(fd); -#endif + + if (ENABLE_FEATURE_CLEAN_UP) close(fd); + if (result) { bb_perror_nomsg_and_die(); } diff --git a/util-linux/fdformat.c b/util-linux/fdformat.c index bd4527581..768105159 100644 --- a/util-linux/fdformat.c +++ b/util-linux/fdformat.c @@ -147,14 +147,14 @@ int fdformat_main(int argc,char **argv) /* There is no point in freeing blocks at the end of a program, because all of the program's space is given back to the system when the process terminates.*/ -#ifdef CONFIG_FEATURE_CLEAN_UP - free(data); -#endif + + if (ENABLE_FEATURE_CLEAN_UP) free(data); + print_and_flush("done\n", NULL); } -#ifdef CONFIG_FEATURE_CLEAN_UP - close(fd); -#endif + + if (ENABLE_FEATURE_CLEAN_UP) close(fd); + /* Don't bother closing. Exit does * that, so we can save a few bytes */ return EXIT_SUCCESS; diff --git a/util-linux/freeramdisk.c b/util-linux/freeramdisk.c index e5061dc34..cfea35bea 100644 --- a/util-linux/freeramdisk.c +++ b/util-linux/freeramdisk.c @@ -47,9 +47,9 @@ freeramdisk_main(int argc, char **argv) fd = bb_xopen(argv[1], O_RDWR); result = ioctl(fd, BLKFLSBUF); -#ifdef CONFIG_FEATURE_CLEAN_UP - close(fd); -#endif + + if (ENABLE_FEATURE_CLEAN_UP) close(fd); + if (result < 0) { bb_perror_msg_and_die("failed ioctl on %s", argv[1]); }