diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2012-10-29 10:49:42 +0100 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-01-04 20:29:39 +0100 |
commit | 2f655ede64e07a861e3ec50150f572ed98755013 (patch) | |
tree | 5a6ce8171c678450d77af249a1ba99acb865bc64 /libxtables/xtables.c | |
parent | d1e7922a587a239e16e0dbe654e63f76e1375e49 (diff) |
libxtables: add xtables_print_num
This function is used both by iptables and ip6tables, and
refactorize to avoid longer than 80-chars per column lines
of code.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'libxtables/xtables.c')
-rw-r--r-- | libxtables/xtables.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/libxtables/xtables.c b/libxtables/xtables.c index da174e20..009ab911 100644 --- a/libxtables/xtables.c +++ b/libxtables/xtables.c @@ -1912,6 +1912,35 @@ xtables_parse_protocol(const char *s) return -1; } +void xtables_print_num(uint64_t number, unsigned int format) +{ + if (!(format & FMT_KILOMEGAGIGA)) { + printf(FMT("%8llu ","%llu "), (unsigned long long)number); + return; + } + if (number <= 99999) { + printf(FMT("%5llu ","%llu "), (unsigned long long)number); + return; + } + number = (number + 500) / 1000; + if (number <= 9999) { + printf(FMT("%4lluK ","%lluK "), (unsigned long long)number); + return; + } + number = (number + 500) / 1000; + if (number <= 9999) { + printf(FMT("%4lluM ","%lluM "), (unsigned long long)number); + return; + } + number = (number + 500) / 1000; + if (number <= 9999) { + printf(FMT("%4lluG ","%lluG "), (unsigned long long)number); + return; + } + number = (number + 500) / 1000; + printf(FMT("%4lluT ","%lluT "), (unsigned long long)number); +} + int kernel_version; void get_kernel_version(void) |