diff options
author | Denys Vlasenko | 2010-01-18 01:55:00 +0100 |
---|---|---|
committer | Denys Vlasenko | 2010-01-18 01:55:00 +0100 |
commit | 9c3b84a3049a152dd6a2b9e3aecaf897f57ac28e (patch) | |
tree | 97a510f4effe3a9d074db41c0996b8e74b216811 /include | |
parent | b972f949577301bd7a66e88c11b9e26431d80a11 (diff) | |
download | busybox-9c3b84a3049a152dd6a2b9e3aecaf897f57ac28e.zip busybox-9c3b84a3049a152dd6a2b9e3aecaf897f57ac28e.tar.gz |
ls: make it so that group never glues itself to file size
+ smaller enhancements: inode is long long; -h is a bit narrower; etc
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/libbb.h | 4 | ||||
-rw-r--r-- | include/unicode.h | 22 |
2 files changed, 25 insertions, 1 deletions
diff --git a/include/libbb.h b/include/libbb.h index 9e6ee84..73aea40 100644 --- a/include/libbb.h +++ b/include/libbb.h @@ -704,8 +704,10 @@ void smart_ulltoa4(unsigned long long ul, char buf[5], const char *scale) FAST_F void smart_ulltoa5(unsigned long long ul, char buf[5], const char *scale) FAST_FUNC; /* If block_size == 0, display size without fractional part, * else display (size * block_size) with one decimal digit. - * If display_unit == 0, add suffix (K,M,G...), + * If display_unit == 0, show value no bigger than 1024 with suffix (K,M,G...), * else divide by display_unit and do not use suffix. */ +#define HUMAN_READABLE_MAX_WIDTH 7 /* "1024.0G" */ +#define HUMAN_READABLE_MAX_WIDTH_STR "7" //TODO: provide pointer to buf (avoid statics)? const char *make_human_readable_str(unsigned long long size, unsigned long block_size, unsigned long display_unit) FAST_FUNC; diff --git a/include/unicode.h b/include/unicode.h index 9f27657..e11f2f9 100644 --- a/include/unicode.h +++ b/include/unicode.h @@ -65,8 +65,30 @@ int iswspace(wint_t wc) FAST_FUNC; int iswalnum(wint_t wc) FAST_FUNC; int iswpunct(wint_t wc) FAST_FUNC; + # endif /* !LOCALE_SUPPORT */ + +# if 0 /* TODO: better support for printfing Unicode fields: */ + +/* equivalent to printf("%-20.20s", str) */ +char unicode_buffer[20 * MB_CUR_MAX]; +printf("%s", unicode_exact(20, str, unicode_buffer); +/* no need to free() anything */ + +/* equivalent to printf("%-20s", str) */ +char *malloced = unicode_minimum(20, str); +printf("%s", malloced); +free(malloced); /* ugh */ + +/* equivalent to printf("%-20s", str), better one */ +printf("%s%*s", str, unicode_pad_to_width(str, 20), ""); +/* equivalent to printf("%20s", str) */ +printf("%*s%s", unicode_pad_to_width(str, 20), "", str); + +# endif + + #endif /* FEATURE_ASSUME_UNICODE */ #endif |