diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-10-30 19:36:07 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-10-30 19:36:07 +0000 |
commit | d059ddc1bbd7863f8ef8aa6484b6c3ba802b5dca (patch) | |
tree | 1d2d1fe01bc3c0939b14b1deed9f33daf3f54be1 /e2fsprogs/chattr.c | |
parent | 1641d614fa13b87b38688bb845159493c821e476 (diff) |
e2fsprogs: code shrink
text data bss dec hex filename
776594 974 9420 786988 c022c busybox_old
776494 974 9420 786888 c01c8 busybox_unstripped
Diffstat (limited to 'e2fsprogs/chattr.c')
-rw-r--r-- | e2fsprogs/chattr.c | 24 |
1 files changed, 3 insertions, 21 deletions
diff --git a/e2fsprogs/chattr.c b/e2fsprogs/chattr.c index db5437228..0f19af8e4 100644 --- a/e2fsprogs/chattr.c +++ b/e2fsprogs/chattr.c @@ -37,27 +37,9 @@ struct globals { static unsigned long get_flag(char c) { - /* Two separate vectors take less space than vector of structs */ - static const char flags_letter[] ALIGN1 = "ASDacdijsutT"; - static const unsigned long flags_val[] = { - /* A */ EXT2_NOATIME_FL, - /* S */ EXT2_SYNC_FL, - /* D */ EXT2_DIRSYNC_FL, - /* a */ EXT2_APPEND_FL, - /* c */ EXT2_COMPR_FL, - /* d */ EXT2_NODUMP_FL, - /* i */ EXT2_IMMUTABLE_FL, - /* j */ EXT3_JOURNAL_DATA_FL, - /* s */ EXT2_SECRM_FL, - /* u */ EXT2_UNRM_FL, - /* t */ EXT2_NOTAIL_FL, - /* T */ EXT2_TOPDIR_FL, - }; - const char *fp; - - for (fp = flags_letter; *fp; fp++) - if (*fp == c) - return flags_val[fp - flags_letter]; + const char *fp = strchr(e2attr_flags_sname_chattr, c); + if (fp) + return e2attr_flags_value_chattr[fp - e2attr_flags_sname_chattr]; bb_show_usage(); } |