mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
perf symbols: Move hex2u64 and strxfrchar to symbol.c
Mostly used in symbol.c so move them there to reduce the number of files needed to use the symbol system. Also do some header adjustments with the same intent. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Frédéric Weisbecker <fweisbec@gmail.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Paul Mackerras <paulus@samba.org> LKML-Reference: <1269557941-15617-5-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
618038df35
commit
5aab621b7b
5 changed files with 76 additions and 65 deletions
|
@ -1,49 +1,6 @@
|
|||
#include "string.h"
|
||||
#include "util.h"
|
||||
|
||||
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);
|
||||
|
||||
if (hex_val < 0)
|
||||
break;
|
||||
|
||||
*long_val = (*long_val << 4) | hex_val;
|
||||
p++;
|
||||
}
|
||||
|
||||
return p - ptr;
|
||||
}
|
||||
|
||||
char *strxfrchar(char *s, char from, char to)
|
||||
{
|
||||
char *p = s;
|
||||
|
||||
while ((p = strchr(p, from)) != NULL)
|
||||
*p++ = to;
|
||||
|
||||
return s;
|
||||
}
|
||||
|
||||
#define K 1024LL
|
||||
/*
|
||||
* perf_atoll()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue