* [PATCH] tools/perf: remove yet another strtoull()
@ 2014-04-29 14:12 Andy Shevchenko
0 siblings, 0 replies; 2+ messages in thread
From: Andy Shevchenko @ 2014-04-29 14:12 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo, linux-kernel
Cc: Andy Shevchenko, Arnaldo Carvalho de Melo
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
---
tools/perf/util/util.c | 22 +---------------------
1 file changed, 1 insertion(+), 21 deletions(-)
diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c
index 9f66549..77360e1 100644
--- a/tools/perf/util/util.c
+++ b/tools/perf/util/util.c
@@ -203,17 +203,6 @@ 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.
@@ -221,17 +210,8 @@ static int hex(char ch)
int hex2u64(const char *ptr, u64 *long_val)
{
const char *p = ptr;
- *long_val = 0;
-
- while (*p) {
- const int hex_val = hex(*p);
- if (hex_val < 0)
- break;
-
- *long_val = (*long_val << 4) | hex_val;
- p++;
- }
+ *long_val = strtoull(ptr, &p, 16);
return p - ptr;
}
--
1.9.2
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] tools/perf: fix build when WERROR=1
@ 2012-08-08 16:18 Arnaldo Carvalho de Melo
2012-08-08 16:37 ` [PATCH] tools/perf: remove yet another strtoull() Andy Shevchenko
0 siblings, 1 reply; 2+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-08-08 16:18 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Peter Zijlstra, Paul Mackerras, Ingo Molnar, linux-next,
Andrew Morton, Stephen Rothwell
Em Wed, Aug 08, 2012 at 06:05:50PM +0300, Andy Shevchenko escreveu:
> util/symbol.c: In function ‘hex2u64’:
> util/symbol.c:2836:2: error: passing argument 2 of ‘strtoull’ from incompatible pointer type [-Werror]
> In file included from util/symbol.c:3:0:
> /usr/include/stdlib.h:215:31: note: expected ‘char ** restrict’ but argument is of type ‘const char **’
> cc1: all warnings being treated as errors
> make[1]: *** [util/symbol.o] Error 1
> make[1]: Leaving directory `/home/andy/prj/linux-2.6/tools/perf'
> make: *** [perf] Error 2
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> tools/perf/util/symbol.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
> index ba2a489..26e695c 100644
> --- a/tools/perf/util/symbol.c
> +++ b/tools/perf/util/symbol.c
> @@ -2831,7 +2831,7 @@ int machines__create_kernel_maps(struct rb_root *machines, pid_t pid)
> */
> int hex2u64(const char *ptr, u64 *long_val)
> {
> - const char *p = ptr;
> + char *p;
>
> *long_val = strtoull(ptr, &p, 16);
What tree is this against? Here I have:
/*
* 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);
if (hex_val < 0)
break;
*long_val = (*long_val << 4) | hex_val;
p++;
}
return p - ptr;
}
- Arnaldo
^ permalink raw reply [flat|nested] 2+ messages in thread* [PATCH] tools/perf: remove yet another strtoull()
2012-08-08 16:18 [PATCH] tools/perf: fix build when WERROR=1 Arnaldo Carvalho de Melo
@ 2012-08-08 16:37 ` Andy Shevchenko
0 siblings, 0 replies; 2+ messages in thread
From: Andy Shevchenko @ 2012-08-08 16:37 UTC (permalink / raw)
To: linux-next; +Cc: Andy Shevchenko, Arnaldo Carvalho de Melo
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
---
tools/perf/util/symbol.c | 24 ++----------------------
1 file changed, 2 insertions(+), 22 deletions(-)
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index 8b63b67..26e695c 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -2825,35 +2825,15 @@ int machines__create_kernel_maps(struct rb_root *machines, pid_t pid)
return machine__create_kernel_maps(machine);
}
-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;
}
--
1.7.10.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-04-29 14:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-29 14:12 [PATCH] tools/perf: remove yet another strtoull() Andy Shevchenko
-- strict thread matches above, loose matches on Subject: below --
2012-08-08 16:18 [PATCH] tools/perf: fix build when WERROR=1 Arnaldo Carvalho de Melo
2012-08-08 16:37 ` [PATCH] tools/perf: remove yet another strtoull() Andy Shevchenko
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.