aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2009-10-13 00:57:39 -0400
committerSteven Rostedt <rostedt@goodmis.org>2009-10-13 00:57:39 -0400
commit10dd98df4bd75ec5629719aeb2e384adfd495fc6 (patch)
tree8236fb3a066db0b356eaf33edc9e332d23580f5f
parent5eaced69756799e20ba1b3e6fb65299f17e69846 (diff)
handle new lines between args
If a new line was between args, it could fail the parsing. Be more flexible with newlines. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r--parse-events.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/parse-events.c b/parse-events.c
index 0c39dbf..eb3f230 100644
--- a/parse-events.c
+++ b/parse-events.c
@@ -1195,7 +1195,7 @@ process_op(struct event *event, struct print_arg *arg, char **tok)
1195 1195
1196 right = malloc_or_die(sizeof(*right)); 1196 right = malloc_or_die(sizeof(*right));
1197 1197
1198 type = read_token(&token); 1198 type = read_token_item(&token);
1199 *tok = token; 1199 *tok = token;
1200 1200
1201 /* could just be a type pointer */ 1201 /* could just be a type pointer */
@@ -1683,12 +1683,18 @@ process_arg_token(struct event *event, struct print_arg *arg,
1683 1683
1684int event_read_print_args(struct event *event, struct print_arg **list) 1684int event_read_print_args(struct event *event, struct print_arg **list)
1685{ 1685{
1686 enum event_type type; 1686 enum event_type type = EVENT_ERROR;
1687 struct print_arg *arg; 1687 struct print_arg *arg;
1688 char *token; 1688 char *token;
1689 int args = 0; 1689 int args = 0;
1690 1690
1691 do { 1691 do {
1692 if (type == EVENT_NEWLINE) {
1693 free_token(token);
1694 type = read_token_item(&token);
1695 continue;
1696 }
1697
1692 arg = malloc_or_die(sizeof(*arg)); 1698 arg = malloc_or_die(sizeof(*arg));
1693 memset(arg, 0, sizeof(*arg)); 1699 memset(arg, 0, sizeof(*arg));
1694 1700