提交 5efb9fbd 编写于 作者: S Steven Rostedt (Red Hat) 提交者: Arnaldo Carvalho de Melo

tools lib traceevent: Check for spaces in character array

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: NXenia Ragiadakou <burzalodowa@gmail.com>
Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Xenia Ragiadakou <burzalodowa@gmail.com>
Link: http://lkml.kernel.org/r/20131101215501.465091682@goodmis.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
上级 0883d9d7
...@@ -3981,7 +3981,7 @@ static int is_printable_array(char *p, unsigned int len) ...@@ -3981,7 +3981,7 @@ static int is_printable_array(char *p, unsigned int len)
unsigned int i; unsigned int i;
for (i = 0; i < len && p[i]; i++) for (i = 0; i < len && p[i]; i++)
if (!isprint(p[i])) if (!isprint(p[i]) && !isspace(p[i]))
return 0; return 0;
return 1; return 1;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册