e2fsprogs: code shrink
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@googlemail.com>
This commit is contained in:
		| @@ -98,36 +98,41 @@ static const char e2attr_flags_lname[] ALIGN1 = | |||||||
| 	"Verity" "\0" | 	"Verity" "\0" | ||||||
| 	/* Another trailing NUL is added by compiler */; | 	/* 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; | ||||||
|  | 	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 uint32_t *fv; | ||||||
| 	const char *fn; | 	const char *fn; | ||||||
|  |  | ||||||
| 	fv = e2attr_flags_value; | 	fv = e2attr_flags_value; | ||||||
| 	if (options & PFOPT_LONG) { | 	fn = e2attr_flags_sname; | ||||||
| 		int first = 1; | 	do  { | ||||||
| 		fn = e2attr_flags_lname; | 		char c = '-'; | ||||||
| 		do { | 		if (flags & *fv) | ||||||
| 			if (flags & *fv) { | 			c = *fn; | ||||||
| 				if (!first) | 		putchar(c); | ||||||
| 					fputs(", ", f); | 		fv++; | ||||||
| 				fputs(fn, f); | 		fn++; | ||||||
| 				first = 0; | 	} while (*fn); | ||||||
| 			} |  | ||||||
| 			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); |  | ||||||
| 	} |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -16,10 +16,9 @@ int iterate_on_dir(const char *dir_name, | |||||||
| 		int FAST_FUNC (*func)(const char *, struct dirent *, void *), | 		int FAST_FUNC (*func)(const char *, struct dirent *, void *), | ||||||
| 		void *private); | 		void *private); | ||||||
|  |  | ||||||
| /* Must be 1 for compatibility with 'int long_format'. */ |  | ||||||
| #define PFOPT_LONG  1 |  | ||||||
| /* Print file attributes on an ext2 file system */ | /* 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 uint32_t e2attr_flags_value[]; | ||||||
| extern const char e2attr_flags_sname[]; | extern const char e2attr_flags_sname[]; | ||||||
|   | |||||||
| @@ -83,10 +83,10 @@ static void list_attributes(const char *name) | |||||||
|  |  | ||||||
| 	if (option_mask32 & OPT_PF_LONG) { | 	if (option_mask32 & OPT_PF_LONG) { | ||||||
| 		printf("%-28s ", name); | 		printf("%-28s ", name); | ||||||
| 		print_e2flags(stdout, fsflags, PFOPT_LONG); | 		print_e2flags_long(fsflags); | ||||||
| 		bb_putchar('\n'); | 		bb_putchar('\n'); | ||||||
| 	} else { | 	} else { | ||||||
| 		print_e2flags(stdout, fsflags, 0); | 		print_e2flags(fsflags); | ||||||
| 		printf(" %s\n", name); | 		printf(" %s\n", name); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user