Re: [PATCH 2/2] perf tools: substitute yet another strtoull()
From: Andy Shevchenko
Date: Wed Oct 22 2014 - 10:01:07 EST
On Fri, 2014-07-04 at 14:43 +0300, Andy Shevchenko wrote:
> Instead of home grown function let's use what library provides us.
>
Any comments on this? Should I resend it?
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> ---
> tools/perf/util/util.c | 24 ++----------------------
> 1 file changed, 2 insertions(+), 22 deletions(-)
>
> diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c
> index e4132ae..861e16e 100644
> --- a/tools/perf/util/util.c
> +++ b/tools/perf/util/util.c
> @@ -206,35 +206,15 @@ size_t hex_width(u64 v)
> return n;
> }
>
> -static int hex(char ch)
> -{
> - if ((ch >= '0') && (ch <= '9'))
> - return ch - '0';
> - if ((ch >= 'a') && (ch <= 'f'))
> - return ch - 'a' + 10;
> - if ((ch >= 'A') && (ch <= 'F'))
> - return ch - 'A' + 10;
> - return -1;
> -}
> -
> /*
> * While we find nice hex chars, build a long_val.
> * Return number of chars processed.
> */
> int hex2u64(const char *ptr, u64 *long_val)
> {
> - const char *p = ptr;
> - *long_val = 0;
> -
> - while (*p) {
> - const int hex_val = hex(*p);
> + char *p;
>
> - if (hex_val < 0)
> - break;
> -
> - *long_val = (*long_val << 4) | hex_val;
> - p++;
> - }
> + *long_val = strtoull(ptr, &p, 16);
>
> return p - ptr;
> }
--
Andy Shevchenko <andriy.shevchenko@xxxxxxxxx>
Intel Finland Oy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/