diff options
author | Steven Rostedt <srostedt@redhat.com> | 2009-10-13 01:06:56 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2009-10-13 01:09:40 -0400 |
commit | f59f9f429f4139b9207fea9566ae1a61b7e9cadc (patch) | |
tree | 46a8c0499fe4b582d9304ab2ca1223f07d397125 | |
parent | eaba260c4f3aae66c9d76a1b949f0c2ab908e830 (diff) |
fix bprintk printing
The handling of bprintk was broken in more ways than one.
This fixes those issues.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | parse-events.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/parse-events.c b/parse-events.c index b802be7..3581214 100644 --- a/parse-events.c +++ b/parse-events.c | |||
@@ -304,18 +304,16 @@ void parse_ftrace_printk(char *file, unsigned int size) | |||
304 | char *line; | 304 | char *line; |
305 | char *next; | 305 | char *next; |
306 | char *addr_str; | 306 | char *addr_str; |
307 | int ret; | 307 | char *fmt; |
308 | int i; | 308 | int i; |
309 | 309 | ||
310 | line = strtok_r(file, "\n", &next); | 310 | line = strtok_r(file, "\n", &next); |
311 | while (line) { | 311 | while (line) { |
312 | item = malloc_or_die(sizeof(*item)); | 312 | item = malloc_or_die(sizeof(*item)); |
313 | ret = sscanf(line, "%as : %as", | 313 | addr_str = strtok_r(line, ":", &fmt); |
314 | &addr_str, | ||
315 | &item->printk); | ||
316 | item->addr = strtoull(addr_str, NULL, 16); | 314 | item->addr = strtoull(addr_str, NULL, 16); |
317 | free(addr_str); | 315 | /* fmt still has a space, skip it */ |
318 | 316 | item->printk = strdup(fmt+1); | |
319 | item->next = list; | 317 | item->next = list; |
320 | list = item; | 318 | list = item; |
321 | line = strtok_r(NULL, "\n", &next); | 319 | line = strtok_r(NULL, "\n", &next); |
@@ -2192,8 +2190,8 @@ static struct print_arg *make_bprint_args(char *fmt, void *data, int size, struc | |||
2192 | case 'u': | 2190 | case 'u': |
2193 | case 'x': | 2191 | case 'x': |
2194 | case 'i': | 2192 | case 'i': |
2195 | bptr = (void *)(((unsigned long)bptr + (long_size - 1)) & | 2193 | bptr = (void *)(((unsigned long)bptr + 3) & |
2196 | ~(long_size - 1)); | 2194 | ~3); |
2197 | switch (ls) { | 2195 | switch (ls) { |
2198 | case 0: | 2196 | case 0: |
2199 | case 1: | 2197 | case 1: |