All of lore.kernel.org
 help / color / mirror / Atom feed
* [resend, PATCH v2] perf tools: substitute yet another strtoull()
@ 2018-01-29 13:03 Andy Shevchenko
  2018-01-29 15:46 ` Jiri Olsa
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Andy Shevchenko @ 2018-01-29 13:03 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Jiri Olsa, linux-kernel; +Cc: Andy Shevchenko

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

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
- recend after couple of years of silence
- hopefully it will be commented / accepted now
 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 443892dabedb..1019bbc5dbd8 100644
--- a/tools/perf/util/util.c
+++ b/tools/perf/util/util.c
@@ -340,35 +340,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;
 }
-- 
2.15.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [resend, PATCH v2] perf tools: substitute yet another strtoull()
  2018-01-29 13:03 [resend, PATCH v2] perf tools: substitute yet another strtoull() Andy Shevchenko
@ 2018-01-29 15:46 ` Jiri Olsa
  2018-02-05 14:48   ` Arnaldo Carvalho de Melo
  2018-02-13 12:11 ` [tip:perf/urgent] perf tools: Substitute " tip-bot for Andy Shevchenko
  2018-02-16  9:42 ` tip-bot for Andy Shevchenko
  2 siblings, 1 reply; 5+ messages in thread
From: Jiri Olsa @ 2018-01-29 15:46 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: Arnaldo Carvalho de Melo, linux-kernel

On Mon, Jan 29, 2018 at 03:03:59PM +0200, Andy Shevchenko wrote:
> Instead of home grown function let's use what library provides us.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Acked-by: Jiri Olsa <jolsa@kernel.org>

thanks,
jirka

> ---
> - recend after couple of years of silence
> - hopefully it will be commented / accepted now
>  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 443892dabedb..1019bbc5dbd8 100644
> --- a/tools/perf/util/util.c
> +++ b/tools/perf/util/util.c
> @@ -340,35 +340,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;
>  }
> -- 
> 2.15.1
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [resend, PATCH v2] perf tools: substitute yet another strtoull()
  2018-01-29 15:46 ` Jiri Olsa
@ 2018-02-05 14:48   ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 5+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-02-05 14:48 UTC (permalink / raw)
  To: Jiri Olsa; +Cc: Andy Shevchenko, linux-kernel

Em Mon, Jan 29, 2018 at 04:46:05PM +0100, Jiri Olsa escreveu:
> On Mon, Jan 29, 2018 at 03:03:59PM +0200, Andy Shevchenko wrote:
> > Instead of home grown function let's use what library provides us.
> > 
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> 
> Acked-by: Jiri Olsa <jolsa@kernel.org>

thanks, applied.

- Arnaldo

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [tip:perf/urgent] perf tools: Substitute yet another strtoull()
  2018-01-29 13:03 [resend, PATCH v2] perf tools: substitute yet another strtoull() Andy Shevchenko
  2018-01-29 15:46 ` Jiri Olsa
@ 2018-02-13 12:11 ` tip-bot for Andy Shevchenko
  2018-02-16  9:42 ` tip-bot for Andy Shevchenko
  2 siblings, 0 replies; 5+ messages in thread
From: tip-bot for Andy Shevchenko @ 2018-02-13 12:11 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: mingo, tglx, andriy.shevchenko, linux-kernel, jolsa, acme, hpa

Commit-ID:  a70770d9b64ab4a36008d64542fb3bb6600c7b07
Gitweb:     https://git.kernel.org/tip/a70770d9b64ab4a36008d64542fb3bb6600c7b07
Author:     Andy Shevchenko <andriy.shevchenko@linux.intel.com>
AuthorDate: Mon, 29 Jan 2018 15:03:59 +0200
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Tue, 6 Feb 2018 10:11:52 -0300

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>
---
 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 443892d..1019bbc 100644
--- a/tools/perf/util/util.c
+++ b/tools/perf/util/util.c
@@ -340,35 +340,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;
 }

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [tip:perf/urgent] perf tools: Substitute yet another strtoull()
  2018-01-29 13:03 [resend, PATCH v2] perf tools: substitute yet another strtoull() Andy Shevchenko
  2018-01-29 15:46 ` Jiri Olsa
  2018-02-13 12:11 ` [tip:perf/urgent] perf tools: Substitute " tip-bot for Andy Shevchenko
@ 2018-02-16  9:42 ` tip-bot for Andy Shevchenko
  2 siblings, 0 replies; 5+ messages in thread
From: tip-bot for Andy Shevchenko @ 2018-02-16  9:42 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: jolsa, linux-kernel, mingo, acme, tglx, hpa, andriy.shevchenko

Commit-ID:  6677d26c8befa462eab9be6c5335a939011e7e65
Gitweb:     https://git.kernel.org/tip/6677d26c8befa462eab9be6c5335a939011e7e65
Author:     Andy Shevchenko <andriy.shevchenko@linux.intel.com>
AuthorDate: Mon, 29 Jan 2018 15:03:59 +0200
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Thu, 15 Feb 2018 09:57:19 -0300

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>
---
 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 443892d..1019bbc 100644
--- a/tools/perf/util/util.c
+++ b/tools/perf/util/util.c
@@ -340,35 +340,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;
 }

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-02-16  9:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-29 13:03 [resend, PATCH v2] perf tools: substitute yet another strtoull() Andy Shevchenko
2018-01-29 15:46 ` Jiri Olsa
2018-02-05 14:48   ` Arnaldo Carvalho de Melo
2018-02-13 12:11 ` [tip:perf/urgent] perf tools: Substitute " tip-bot for Andy Shevchenko
2018-02-16  9:42 ` tip-bot for 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.