perf tools: Handle newlines in trace parsing better
New lines between args in the trace format can break the parsing. This should not be the case. Signed-off-by: Steven Rostedt <srostedt@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> LKML-Reference: <20091014194358.637991808@goodmis.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
committed by
Ingo Molnar
parent
b99af87482
commit
f1d1feecf0
@@ -1716,12 +1716,18 @@ process_arg_token(struct event *event, struct print_arg *arg,
|
|||||||
|
|
||||||
static int event_read_print_args(struct event *event, struct print_arg **list)
|
static int event_read_print_args(struct event *event, struct print_arg **list)
|
||||||
{
|
{
|
||||||
enum event_type type;
|
enum event_type type = EVENT_ERROR;
|
||||||
struct print_arg *arg;
|
struct print_arg *arg;
|
||||||
char *token;
|
char *token;
|
||||||
int args = 0;
|
int args = 0;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
|
if (type == EVENT_NEWLINE) {
|
||||||
|
free_token(token);
|
||||||
|
type = read_token_item(&token);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
arg = malloc_or_die(sizeof(*arg));
|
arg = malloc_or_die(sizeof(*arg));
|
||||||
memset(arg, 0, sizeof(*arg));
|
memset(arg, 0, sizeof(*arg));
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user