--- Makefile | 1 + numfmt.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 numfmt.c diff --git a/Makefile b/Makefile index 0e421e7..ae3d640 100644 --- a/Makefile +++ b/Makefile _AT_@ -130,6 +130,7 @@ BIN =\ nice\ nl\ nohup\ + numfmt\ od\ paste\ pathchk\ diff --git a/numfmt.c b/numfmt.c new file mode 100644 index 0000000..b44e344 --- /dev/null +++ b/numfmt.c _AT_@ -0,0 +1,48 @@ +/* See LICENSE file for copyright and license details. */ +#include <stdlib.h> +#include <string.h> + +#include "util.h" + +static void +usage(void) +{ + eprintf("usage: %s [--to=iec] number \n", argv0); +} + +int +main(int argc, char *argv[]) +{ + int ret = 0; + char *mode; + + ARGBEGIN { + case '-': /* long options */ + if ( strncmp(argv[0], "-to=", 4) == 0 ) + { + mode = &argv[0][4]; + brk_=1; /* shift to next arg*/ + break; + } + default: + usage(); + } ARGEND + + if (!argc) { + usage(); + } else { + for (; argc ; argv++, argc--) { + if (mode) { + if (strcmp(mode,"iec") == 0) { + printf("%s\n", humansize(strtol(*argv,NULL,10))); + continue; + } + eprintf("for now only iec output format is supported\n"); + } else { + /* print numbers as is */ + printf("%s\n", *argv); + } + } + } + return ret; +} -- 2.14.5Received on Tue Nov 20 2018 - 22:53:56 CET
This archive was generated by hypermail 2.3.0 : Tue Nov 20 2018 - 23:00:24 CET