linux-kernel.vger.kernel.org archive mirror
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).