qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 1/2] utils: rename strtosz to use qemu prefix


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH 1/2] utils: rename strtosz to use qemu prefix
Date: Wed, 16 Sep 2015 18:34:38 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0


On 16/09/2015 18:02, address@hidden wrote:
> From: Marc-André Lureau <address@hidden>
> 
> Not only it makes sense, but it gets rid of checkpatch warning:
> WARNING: consider using qemu_strtosz in preference to strtosz

Oops. :)

However, we also need something like this:

----------- 8< ------------
From: Paolo Bonzini <address@hidden>
Subject: [PATCH] checkpatch: do not recomment qemu_strtok

If anything, it should recommend strtok_r!

Signed-off-by: Paolo Bonzini <address@hidden>

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index b59a87a..272eef1 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2474,7 +2474,7 @@ sub process {
                        WARN("__func__ should be used instead of gcc specific 
__FUNCTION__\n"  . $herecurr);
                }
 
-# recommend qemu_strto* over strto*
-               if ($line =~ /\b(strto.*?)\s*\(/) {
+# recommend qemu_strto* over strto* for numeric conversions
+               if ($line =~ /\b(strto[^k].*?)\s*\(/) {
                        WARN("consider using qemu_$1 in preference to $1\n" . 
$herecurr);
                }
 # check for module_init(), use category-specific init macros explicitly please
------------- 8< ----------------

Paolo

> Also remove get rid of tabs to please checkpatch.
> 
> Signed-off-by: Marc-André Lureau <address@hidden>
> ---
>  include/qemu-common.h | 27 ++++++++++++++-------------
>  monitor.c             |  2 +-
>  qapi/opts-visitor.c   |  4 ++--
>  qemu-img.c            |  5 +++--
>  qemu-io-cmds.c        |  2 +-
>  target-i386/cpu.c     |  4 ++--
>  util/cutils.c         | 25 +++++++++++++------------
>  7 files changed, 36 insertions(+), 33 deletions(-)
> 
> diff --git a/include/qemu-common.h b/include/qemu-common.h
> index 01d29dd..0bd212b 100644
> --- a/include/qemu-common.h
> +++ b/include/qemu-common.h
> @@ -217,22 +217,23 @@ int parse_uint(const char *s, unsigned long long 
> *value, char **endptr,
>  int parse_uint_full(const char *s, unsigned long long *value, int base);
>  
>  /*
> - * strtosz() suffixes used to specify the default treatment of an
> - * argument passed to strtosz() without an explicit suffix.
> + * qemu_strtosz() suffixes used to specify the default treatment of an
> + * argument passed to qemu_strtosz() without an explicit suffix.
>   * These should be defined using upper case characters in the range
> - * A-Z, as strtosz() will use qemu_toupper() on the given argument
> + * A-Z, as qemu_strtosz() will use qemu_toupper() on the given argument
>   * prior to comparison.
>   */
> -#define STRTOSZ_DEFSUFFIX_EB 'E'
> -#define STRTOSZ_DEFSUFFIX_PB 'P'
> -#define STRTOSZ_DEFSUFFIX_TB 'T'
> -#define STRTOSZ_DEFSUFFIX_GB 'G'
> -#define STRTOSZ_DEFSUFFIX_MB 'M'
> -#define STRTOSZ_DEFSUFFIX_KB 'K'
> -#define STRTOSZ_DEFSUFFIX_B  'B'
> -int64_t strtosz(const char *nptr, char **end);
> -int64_t strtosz_suffix(const char *nptr, char **end, const char 
> default_suffix);
> -int64_t strtosz_suffix_unit(const char *nptr, char **end,
> +#define QEMU_STRTOSZ_DEFSUFFIX_EB 'E'
> +#define QEMU_STRTOSZ_DEFSUFFIX_PB 'P'
> +#define QEMU_STRTOSZ_DEFSUFFIX_TB 'T'
> +#define QEMU_STRTOSZ_DEFSUFFIX_GB 'G'
> +#define QEMU_STRTOSZ_DEFSUFFIX_MB 'M'
> +#define QEMU_STRTOSZ_DEFSUFFIX_KB 'K'
> +#define QEMU_STRTOSZ_DEFSUFFIX_B 'B'
> +int64_t qemu_strtosz(const char *nptr, char **end);
> +int64_t qemu_strtosz_suffix(const char *nptr, char **end,
> +                            const char default_suffix);
> +int64_t qemu_strtosz_suffix_unit(const char *nptr, char **end,
>                              const char default_suffix, int64_t unit);
>  #define K_BYTE     (1ULL << 10)
>  #define M_BYTE     (1ULL << 20)
> diff --git a/monitor.c b/monitor.c
> index 5455ab9..1221977 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -3911,7 +3911,7 @@ static QDict *monitor_parse_arguments(Monitor *mon,
>                          break;
>                      }
>                  }
> -                val = strtosz(p, &end);
> +                val = qemu_strtosz(p, &end);
>                  if (val < 0) {
>                      monitor_printf(mon, "invalid size\n");
>                      goto fail;
> diff --git a/qapi/opts-visitor.c b/qapi/opts-visitor.c
> index 7ae33b3..cd10392 100644
> --- a/qapi/opts-visitor.c
> +++ b/qapi/opts-visitor.c
> @@ -474,8 +474,8 @@ opts_type_size(Visitor *v, uint64_t *obj, const char 
> *name, Error **errp)
>          return;
>      }
>  
> -    val = strtosz_suffix(opt->str ? opt->str : "", &endptr,
> -                         STRTOSZ_DEFSUFFIX_B);
> +    val = qemu_strtosz_suffix(opt->str ? opt->str : "", &endptr,
> +                         QEMU_STRTOSZ_DEFSUFFIX_B);
>      if (val < 0 || *endptr) {
>          error_setg(errp, QERR_INVALID_PARAMETER_VALUE, opt->name,
>                     "a size value representible as a non-negative int64");
> diff --git a/qemu-img.c b/qemu-img.c
> index 6ff4e85..7d65c0a 100644
> --- a/qemu-img.c
> +++ b/qemu-img.c
> @@ -338,7 +338,8 @@ static int img_create(int argc, char **argv)
>      if (optind < argc) {
>          int64_t sval;
>          char *end;
> -        sval = strtosz_suffix(argv[optind++], &end, STRTOSZ_DEFSUFFIX_B);
> +        sval = qemu_strtosz_suffix(argv[optind++], &end,
> +                                   QEMU_STRTOSZ_DEFSUFFIX_B);
>          if (sval < 0 || *end) {
>              if (sval == -ERANGE) {
>                  error_report("Image size must be less than 8 EiB!");
> @@ -1607,7 +1608,7 @@ static int img_convert(int argc, char **argv)
>          {
>              int64_t sval;
>              char *end;
> -            sval = strtosz_suffix(optarg, &end, STRTOSZ_DEFSUFFIX_B);
> +            sval = qemu_strtosz_suffix(optarg, &end, 
> QEMU_STRTOSZ_DEFSUFFIX_B);
>              if (sval < 0 || *end) {
>                  error_report("Invalid minimum zero buffer size for sparse 
> output specified");
>                  ret = -1;
> diff --git a/qemu-io-cmds.c b/qemu-io-cmds.c
> index d6572a8..6e5d1e4 100644
> --- a/qemu-io-cmds.c
> +++ b/qemu-io-cmds.c
> @@ -136,7 +136,7 @@ static char **breakline(char *input, int *count)
>  static int64_t cvtnum(const char *s)
>  {
>      char *end;
> -    return strtosz_suffix(s, &end, STRTOSZ_DEFSUFFIX_B);
> +    return qemu_strtosz_suffix(s, &end, QEMU_STRTOSZ_DEFSUFFIX_B);
>  }
>  
>  #define EXABYTES(x)     ((long long)(x) << 60)
> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> index cfb8aa7..a5bea42 100644
> --- a/target-i386/cpu.c
> +++ b/target-i386/cpu.c
> @@ -1893,8 +1893,8 @@ static void x86_cpu_parse_featurestr(CPUState *cs, char 
> *features,
>                  char *err;
>                  char num[32];
>  
> -                tsc_freq = strtosz_suffix_unit(val, &err,
> -                                               STRTOSZ_DEFSUFFIX_B, 1000);
> +                tsc_freq = qemu_strtosz_suffix_unit(val, &err,
> +                                               QEMU_STRTOSZ_DEFSUFFIX_B, 
> 1000);
>                  if (tsc_freq < 0 || *err) {
>                      error_setg(errp, "bad numerical value %s", val);
>                      return;
> diff --git a/util/cutils.c b/util/cutils.c
> index ae35198..cfeb848 100644
> --- a/util/cutils.c
> +++ b/util/cutils.c
> @@ -276,19 +276,19 @@ int fcntl_setfl(int fd, int flag)
>  static int64_t suffix_mul(char suffix, int64_t unit)
>  {
>      switch (qemu_toupper(suffix)) {
> -    case STRTOSZ_DEFSUFFIX_B:
> +    case QEMU_STRTOSZ_DEFSUFFIX_B:
>          return 1;
> -    case STRTOSZ_DEFSUFFIX_KB:
> +    case QEMU_STRTOSZ_DEFSUFFIX_KB:
>          return unit;
> -    case STRTOSZ_DEFSUFFIX_MB:
> +    case QEMU_STRTOSZ_DEFSUFFIX_MB:
>          return unit * unit;
> -    case STRTOSZ_DEFSUFFIX_GB:
> +    case QEMU_STRTOSZ_DEFSUFFIX_GB:
>          return unit * unit * unit;
> -    case STRTOSZ_DEFSUFFIX_TB:
> +    case QEMU_STRTOSZ_DEFSUFFIX_TB:
>          return unit * unit * unit * unit;
> -    case STRTOSZ_DEFSUFFIX_PB:
> +    case QEMU_STRTOSZ_DEFSUFFIX_PB:
>          return unit * unit * unit * unit * unit;
> -    case STRTOSZ_DEFSUFFIX_EB:
> +    case QEMU_STRTOSZ_DEFSUFFIX_EB:
>          return unit * unit * unit * unit * unit * unit;
>      }
>      return -1;
> @@ -300,7 +300,7 @@ static int64_t suffix_mul(char suffix, int64_t unit)
>   * in *end, if not NULL. Return -ERANGE on overflow, Return -EINVAL on
>   * other error.
>   */
> -int64_t strtosz_suffix_unit(const char *nptr, char **end,
> +int64_t qemu_strtosz_suffix_unit(const char *nptr, char **end,
>                              const char default_suffix, int64_t unit)
>  {
>      int64_t retval = -EINVAL;
> @@ -343,14 +343,15 @@ fail:
>      return retval;
>  }
>  
> -int64_t strtosz_suffix(const char *nptr, char **end, const char 
> default_suffix)
> +int64_t qemu_strtosz_suffix(const char *nptr, char **end,
> +                            const char default_suffix)
>  {
> -    return strtosz_suffix_unit(nptr, end, default_suffix, 1024);
> +    return qemu_strtosz_suffix_unit(nptr, end, default_suffix, 1024);
>  }
>  
> -int64_t strtosz(const char *nptr, char **end)
> +int64_t qemu_strtosz(const char *nptr, char **end)
>  {
> -    return strtosz_suffix(nptr, end, STRTOSZ_DEFSUFFIX_MB);
> +    return qemu_strtosz_suffix(nptr, end, QEMU_STRTOSZ_DEFSUFFIX_MB);
>  }
>  
>  /**
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]