[PATCH AUTOSEL for 4.9 221/293] tools lib traceevent: Simplify pointer print logic and fix %pF

2018-04-08 Thread Sasha Levin
From: "Steven Rostedt (VMware)" 

[ Upstream commit 38d70b7ca1769f26c0b79f3c08ff2cc949712b59 ]

When processing %pX in pretty_print(), simplify the logic slightly by
incrementing the ptr to the format string if isalnum(ptr[1]) is true.
This follows the logic a bit more closely to what is in the kernel.

Also, this fixes a small bug where %pF was not giving the offset of the
function.

Signed-off-by: Steven Rostedt 
Acked-by: Namhyung Kim 
Cc: Andrew Morton 
Link: http://lkml.kernel.org/r/20180112004822.260262...@goodmis.org
Signed-off-by: Arnaldo Carvalho de Melo 
Signed-off-by: Sasha Levin 
---
 tools/lib/traceevent/event-parse.c | 17 +
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/tools/lib/traceevent/event-parse.c 
b/tools/lib/traceevent/event-parse.c
index 664c90c8e22b..669475300ba8 100644
--- a/tools/lib/traceevent/event-parse.c
+++ b/tools/lib/traceevent/event-parse.c
@@ -4927,21 +4927,22 @@ static void pretty_print(struct trace_seq *s, void 
*data, int size, struct event
else
ls = 2;
 
-   if (*(ptr+1) == 'F' || *(ptr+1) == 'f' ||
-   *(ptr+1) == 'S' || *(ptr+1) == 's') {
+   if (isalnum(ptr[1]))
ptr++;
+
+   if (*ptr == 'F' || *ptr == 'f' ||
+   *ptr == 'S' || *ptr == 's') {
show_func = *ptr;
-   } else if (*(ptr+1) == 'M' || *(ptr+1) == 'm') {
-   print_mac_arg(s, *(ptr+1), data, size, 
event, arg);
-   ptr++;
+   } else if (*ptr == 'M' || *ptr == 'm') {
+   print_mac_arg(s, *ptr, data, size, 
event, arg);
arg = arg->next;
break;
-   } else if (*(ptr+1) == 'I' || *(ptr+1) == 'i') {
+   } else if (*ptr == 'I' || *ptr == 'i') {
int n;
 
-   n = print_ip_arg(s, ptr+1, data, size, 
event, arg);
+   n = print_ip_arg(s, ptr, data, size, 
event, arg);
if (n > 0) {
-   ptr += n;
+   ptr += n - 1;
arg = arg->next;
break;
}
-- 
2.15.1


[PATCH AUTOSEL for 4.9 221/293] tools lib traceevent: Simplify pointer print logic and fix %pF

2018-04-08 Thread Sasha Levin
From: "Steven Rostedt (VMware)" 

[ Upstream commit 38d70b7ca1769f26c0b79f3c08ff2cc949712b59 ]

When processing %pX in pretty_print(), simplify the logic slightly by
incrementing the ptr to the format string if isalnum(ptr[1]) is true.
This follows the logic a bit more closely to what is in the kernel.

Also, this fixes a small bug where %pF was not giving the offset of the
function.

Signed-off-by: Steven Rostedt 
Acked-by: Namhyung Kim 
Cc: Andrew Morton 
Link: http://lkml.kernel.org/r/20180112004822.260262...@goodmis.org
Signed-off-by: Arnaldo Carvalho de Melo 
Signed-off-by: Sasha Levin 
---
 tools/lib/traceevent/event-parse.c | 17 +
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/tools/lib/traceevent/event-parse.c 
b/tools/lib/traceevent/event-parse.c
index 664c90c8e22b..669475300ba8 100644
--- a/tools/lib/traceevent/event-parse.c
+++ b/tools/lib/traceevent/event-parse.c
@@ -4927,21 +4927,22 @@ static void pretty_print(struct trace_seq *s, void 
*data, int size, struct event
else
ls = 2;
 
-   if (*(ptr+1) == 'F' || *(ptr+1) == 'f' ||
-   *(ptr+1) == 'S' || *(ptr+1) == 's') {
+   if (isalnum(ptr[1]))
ptr++;
+
+   if (*ptr == 'F' || *ptr == 'f' ||
+   *ptr == 'S' || *ptr == 's') {
show_func = *ptr;
-   } else if (*(ptr+1) == 'M' || *(ptr+1) == 'm') {
-   print_mac_arg(s, *(ptr+1), data, size, 
event, arg);
-   ptr++;
+   } else if (*ptr == 'M' || *ptr == 'm') {
+   print_mac_arg(s, *ptr, data, size, 
event, arg);
arg = arg->next;
break;
-   } else if (*(ptr+1) == 'I' || *(ptr+1) == 'i') {
+   } else if (*ptr == 'I' || *ptr == 'i') {
int n;
 
-   n = print_ip_arg(s, ptr+1, data, size, 
event, arg);
+   n = print_ip_arg(s, ptr, data, size, 
event, arg);
if (n > 0) {
-   ptr += n;
+   ptr += n - 1;
arg = arg->next;
break;
}
-- 
2.15.1