perf tools: Substitute yet another strtoull()

Instead of home grown function let's use what library provides us.

Signed-off-by: Andriy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Link: http://lkml.kernel.org/r/20180129130359.1490-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Andy Shevchenko
2018-01-29 15:03:59 +02:00
committed by Arnaldo Carvalho de Melo
parent 8cc42de736
commit 6677d26c8b

View File

@@ -340,35 +340,15 @@ size_t hex_width(u64 v)
return n; 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. * While we find nice hex chars, build a long_val.
* Return number of chars processed. * Return number of chars processed.
*/ */
int hex2u64(const char *ptr, u64 *long_val) int hex2u64(const char *ptr, u64 *long_val)
{ {
const char *p = ptr; char *p;
*long_val = 0;
while (*p) { *long_val = strtoull(ptr, &p, 16);
const int hex_val = hex(*p);
if (hex_val < 0)
break;
*long_val = (*long_val << 4) | hex_val;
p++;
}
return p - ptr; return p - ptr;
} }