[PATCH 6/8] tools lib traceevent: Check for spaces in character array

From: Steven Rostedt
Date: Fri Nov 01 2013 - 17:56:11 EST


From: "Steven Rostedt (Red Hat)" <rostedt@xxxxxxxxxxx>

Currently when using the raw format for fields, when looking at
a character array, to determine if it is a string or not, we make sure
all characters are "isprint()". If not, then we consider it a numeric
array, and print the hex numbers of the characters instead.

But it seems that '\n' fails the isprint() check! Add isspace() to
the check as well, such that if all characters pass isprint() or
isspace() it will assume the character array is a string.

Reported-by: Xenia Ragiadakou <burzalodowa@xxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
---
tools/lib/traceevent/event-parse.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c
index e1c743c..85cbbdd 100644
--- a/tools/lib/traceevent/event-parse.c
+++ b/tools/lib/traceevent/event-parse.c
@@ -3981,7 +3981,7 @@ static int is_printable_array(char *p, unsigned int len)
unsigned int i;

for (i = 0; i < len && p[i]; i++)
- if (!isprint(p[i]))
+ if (!isprint(p[i]) && !isspace(p[i]))
return 0;
return 1;
}
--
1.8.4.rc3


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/