[prev in list] [next in list] [prev in thread] [next in thread]
List: busybox
Subject: Re: [PATCH 1/2] dd: move suffix struct to xatonum.c
From: Ari Sundholm <ari () tuxera ! com>
Date: 2015-03-19 13:26:46
Message-ID: 1426771606.22694.1.camel () ari-macbook
[Download RAW message or body]
Any comments to this patch? It doesn't cause any bloat and allows for
sharing the struct among applets.
On Wed, 2015-03-04 at 18:46 +0200, Ari Sundholm wrote:
> From: Ari Sundholm <ari@tuxera.com>
>
> This way it can be used by other applets without duplication.
>
> Signed-off-by: Ari Sundholm <ari@tuxera.com>
> ---
> coreutils/dd.c | 31 ++++++-------------------------
> include/libbb.h | 1 +
> libbb/xatonum.c | 19 +++++++++++++++++++
> 3 files changed, 26 insertions(+), 25 deletions(-)
>
> diff --git a/coreutils/dd.c b/coreutils/dd.c
> index 3024970..53a843c 100644
> --- a/coreutils/dd.c
> +++ b/coreutils/dd.c
> @@ -99,25 +99,6 @@ enum {
> ofd = STDOUT_FILENO,
> };
>
> -static const struct suffix_mult dd_suffixes[] = {
> - { "c", 1 },
> - { "w", 2 },
> - { "b", 512 },
> - { "kB", 1000 },
> - { "kD", 1000 },
> - { "k", 1024 },
> - { "K", 1024 }, /* compat with coreutils dd (it also accepts KB and KD, TODO?) */
> - { "MB", 1000000 },
> - { "MD", 1000000 },
> - { "M", 1024*1024 },
> - { "GB", 1000000000 },
> - { "GD", 1000000000 },
> - { "G", 1024*1024*1024 },
> - /* "D" suffix for decimal is not in coreutils manpage, looks like it's deprecated */
> - /* coreutils also understands TPEZY suffixes for tera- and so on, with B suffix for decimal */
> - { "", 0 }
> -};
> -
> struct globals {
> off_t out_full, out_part, in_full, in_part;
> #if ENABLE_FEATURE_DD_THIRD_STATUS_LINE
> @@ -326,11 +307,11 @@ int dd_main(int argc UNUSED_PARAM, char **argv)
> #if ENABLE_FEATURE_DD_IBS_OBS
> if (what == OP_ibs) {
> /* Must fit into positive ssize_t */
> - ibs = xatoul_range_sfx(val, 1, ((size_t)-1L)/2, dd_suffixes);
> + ibs = xatoul_range_sfx(val, 1, ((size_t)-1L)/2, cwbkMG_suffixes);
> /*continue;*/
> }
> if (what == OP_obs) {
> - obs = xatoul_range_sfx(val, 1, ((size_t)-1L)/2, dd_suffixes);
> + obs = xatoul_range_sfx(val, 1, ((size_t)-1L)/2, cwbkMG_suffixes);
> /*continue;*/
> }
> if (what == OP_conv) {
> @@ -356,22 +337,22 @@ int dd_main(int argc UNUSED_PARAM, char **argv)
> }
> #endif
> if (what == OP_bs) {
> - ibs = xatoul_range_sfx(val, 1, ((size_t)-1L)/2, dd_suffixes);
> + ibs = xatoul_range_sfx(val, 1, ((size_t)-1L)/2, cwbkMG_suffixes);
> obs = ibs;
> /*continue;*/
> }
> /* These can be large: */
> if (what == OP_count) {
> G.flags |= FLAG_COUNT;
> - count = XATOU_SFX(val, dd_suffixes);
> + count = XATOU_SFX(val, cwbkMG_suffixes);
> /*continue;*/
> }
> if (what == OP_seek) {
> - seek = XATOU_SFX(val, dd_suffixes);
> + seek = XATOU_SFX(val, cwbkMG_suffixes);
> /*continue;*/
> }
> if (what == OP_skip) {
> - skip = XATOU_SFX(val, dd_suffixes);
> + skip = XATOU_SFX(val, cwbkMG_suffixes);
> /*continue;*/
> }
> if (what == OP_if) {
> diff --git a/include/libbb.h b/include/libbb.h
> index be792d6..e4fcf7c 100644
> --- a/include/libbb.h
> +++ b/include/libbb.h
> @@ -861,6 +861,7 @@ struct suffix_mult {
> };
> extern const struct suffix_mult bkm_suffixes[];
> #define km_suffixes (bkm_suffixes + 1)
> +extern const struct suffix_mult cwbkMG_suffixes[];
>
> #include "xatonum.h"
> /* Specialized: */
> diff --git a/libbb/xatonum.c b/libbb/xatonum.c
> index 6f4e023..19b54fb 100644
> --- a/libbb/xatonum.c
> +++ b/libbb/xatonum.c
> @@ -75,3 +75,22 @@ const struct suffix_mult bkm_suffixes[] = {
> { "m", 1024*1024 },
> { "", 0 }
> };
> +
> +const struct suffix_mult cwbkMG_suffixes[] = {
> + { "c", 1 },
> + { "w", 2 },
> + { "b", 512 },
> + { "kB", 1000 },
> + { "kD", 1000 },
> + { "k", 1024 },
> + { "K", 1024 }, /* compat with coreutils dd (it also accepts KB and KD, TODO?) */
> + { "MB", 1000000 },
> + { "MD", 1000000 },
> + { "M", 1024*1024 },
> + { "GB", 1000000000 },
> + { "GD", 1000000000 },
> + { "G", 1024*1024*1024 },
> + /* "D" suffix for decimal is not in coreutils manpage, looks like it's deprecated */
> + /* coreutils also understands TPEZY suffixes for tera- and so on, with B suffix for decimal */
> + { "", 0 }
> +};
_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic