diff options
Diffstat (limited to 'e2fsprogs')
-rw-r--r-- | e2fsprogs/e2fs_lib.c | 59 | ||||
-rw-r--r-- | e2fsprogs/e2fs_lib.h | 5 | ||||
-rw-r--r-- | e2fsprogs/lsattr.c | 4 |
3 files changed, 36 insertions, 32 deletions
diff --git a/e2fsprogs/e2fs_lib.c b/e2fsprogs/e2fs_lib.c index 0ec4eb2..e32336a 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 1a5d092..879272f 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 545afa7..c9f353c 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); } |