Re: [PATCH 1/3] qemu: Add strtosz_suffix_unit function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Joerg Roedel <joerg.roedel@xxxxxxx> writes:

> This function does the same as the strtosz_suffix function
> except that it allows to specify the unit to which the
> k/M/B/T suffixes apply. This function will be used later to
> parse the tsc-frequency from the command-line.
>
> Signed-off-by: Joerg Roedel <joerg.roedel@xxxxxxx>
> ---
>  cutils.c      |   16 +++++++++++-----
>  qemu-common.h |    2 ++
>  2 files changed, 13 insertions(+), 5 deletions(-)
>
> diff --git a/cutils.c b/cutils.c
> index f9a7e36..28049e0 100644
> --- a/cutils.c
> +++ b/cutils.c
> @@ -322,7 +322,8 @@ int fcntl_setfl(int fd, int flag)
>   * value must be terminated by whitespace, ',' or '\0'. Return -1 on
>   * error.
>   */
> -int64_t strtosz_suffix(const char *nptr, char **end, const char default_suffix)
> +int64_t strtosz_suffix_unit(const char *nptr, char **end,
> +                            const char default_suffix, int64_t unit)
>  {
>      int64_t retval = -1;
>      char *endptr;
> @@ -362,20 +363,20 @@ int64_t strtosz_suffix(const char *nptr, char **end, const char default_suffix)
>          }
>          break;
>      case STRTOSZ_DEFSUFFIX_KB:
> -        mul = 1 << 10;
> +        mul = unit;
>          break;
>      case 0:
>          if (mul_required) {
>              goto fail;
>          }
>      case STRTOSZ_DEFSUFFIX_MB:
> -        mul = 1ULL << 20;
> +        mul = unit * unit;
>          break;
>      case STRTOSZ_DEFSUFFIX_GB:
> -        mul = 1ULL << 30;
> +        mul = unit * unit * unit;
>          break;
>      case STRTOSZ_DEFSUFFIX_TB:
> -        mul = 1ULL << 40;
> +        mul = unit * unit * unit * unit;
>          break;
>      default:
>          goto fail;
> @@ -405,6 +406,11 @@ fail:
>      return retval;
>  }

Why would anyone ever call this function with an unit argument other
than 1000 or 1024?

Without such a use case, I'd rather give strtosz_suffix() a flag
parameter to pick SI prefixes (multiples of 1000) vs. binary prefixes
(multiples of 1024).

[...]
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux