[git commit] e2fsprogs: code shrink

Denys Vlasenko vda.linux at googlemail.com
Thu Jun 24 07:31:57 UTC 2021


commit: https://git.busybox.net/busybox/commit/?id=87c40cf4de435d1b19b7fb545a495542c6eaf820
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
print_e2flags_long                                     -     109    +109
list_attributes                                      248     232     -16
print_e2flags                                        169      47    -122
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/2 up/down: 109/-138)          Total: -29 bytes

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 e2fsprogs/e2fs_lib.c | 59 ++++++++++++++++++++++++++++------------------------
 e2fsprogs/e2fs_lib.h |  5 ++---
 e2fsprogs/lsattr.c   |  4 ++--
 3 files changed, 36 insertions(+), 32 deletions(-)

diff --git a/e2fsprogs/e2fs_lib.c b/e2fsprogs/e2fs_lib.c
index 0ec4eb2f2..e32336ae6 100644
--- a/e2fsprogs/e2fs_lib.c
+++ b/e2fsprogs/e2fs_lib.c
@@ -98,36 +98,41 @@ static const char e2attr_flags_lname[] ALIGN1 =
 	"Verity" "\0"
 	/* Another trailing NUL is added by compiler */;
 
-void print_e2flags(FILE *f, unsigned flags, unsigned options)
+void print_e2flags_long(unsigned flags)
 {
 	const uint32_t *fv;
 	const char *fn;
+	int first = 1;
 
 	fv = e2attr_flags_value;
-	if (options & PFOPT_LONG) {
-		int first = 1;
-		fn = e2attr_flags_lname;
-		do {
-			if (flags & *fv) {
-				if (!first)
-					fputs(", ", f);
-				fputs(fn, f);
-				first = 0;
-			}
-			fv++;
-			fn += strlen(fn) + 1;
-		} while (*fn);
-		if (first)
-			fputs("---", f);
-	} else {
-		fn = e2attr_flags_sname;
-		do  {
-			char c = '-';
-			if (flags & *fv)
-				c = *fn;
-			fputc(c, f);
-			fv++;
-			fn++;
-		} while (*fn);
-	}
+	fn = e2attr_flags_lname;
+	do {
+		if (flags & *fv) {
+			if (!first)
+				fputs(", ", stdout);
+			fputs(fn, stdout);
+			first = 0;
+		}
+		fv++;
+		fn += strlen(fn) + 1;
+	} while (*fn);
+	if (first)
+		fputs("---", stdout);
+}
+
+void print_e2flags(unsigned flags)
+{
+	const uint32_t *fv;
+	const char *fn;
+
+	fv = e2attr_flags_value;
+	fn = e2attr_flags_sname;
+	do  {
+		char c = '-';
+		if (flags & *fv)
+			c = *fn;
+		putchar(c);
+		fv++;
+		fn++;
+	} while (*fn);
 }
diff --git a/e2fsprogs/e2fs_lib.h b/e2fsprogs/e2fs_lib.h
index 1a5d092c0..879272f44 100644
--- a/e2fsprogs/e2fs_lib.h
+++ b/e2fsprogs/e2fs_lib.h
@@ -16,10 +16,9 @@ int iterate_on_dir(const char *dir_name,
 		int FAST_FUNC (*func)(const char *, struct dirent *, void *),
 		void *private);
 
-/* Must be 1 for compatibility with 'int long_format'. */
-#define PFOPT_LONG  1
 /* Print file attributes on an ext2 file system */
-void print_e2flags(FILE *f, unsigned flags, unsigned options);
+void print_e2flags_long(unsigned flags);
+void print_e2flags(unsigned flags);
 
 extern const uint32_t e2attr_flags_value[];
 extern const char e2attr_flags_sname[];
diff --git a/e2fsprogs/lsattr.c b/e2fsprogs/lsattr.c
index 545afa7f5..c9f353ce5 100644
--- a/e2fsprogs/lsattr.c
+++ b/e2fsprogs/lsattr.c
@@ -83,10 +83,10 @@ static void list_attributes(const char *name)
 
 	if (option_mask32 & OPT_PF_LONG) {
 		printf("%-28s ", name);
-		print_e2flags(stdout, fsflags, PFOPT_LONG);
+		print_e2flags_long(fsflags);
 		bb_putchar('\n');
 	} else {
-		print_e2flags(stdout, fsflags, 0);
+		print_e2flags(fsflags);
 		printf(" %s\n", name);
 	}
 


More information about the busybox-cvs mailing list