diff options
Diffstat (limited to 'tools/perf/util/trace-event-read.c')
| -rw-r--r-- | tools/perf/util/trace-event-read.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/tools/perf/util/trace-event-read.c b/tools/perf/util/trace-event-read.c index 44889c9b5630..46066391288a 100644 --- a/tools/perf/util/trace-event-read.c +++ b/tools/perf/util/trace-event-read.c | |||
| @@ -52,6 +52,12 @@ static unsigned long page_size; | |||
| 52 | 52 | ||
| 53 | static ssize_t calc_data_size; | 53 | static ssize_t calc_data_size; |
| 54 | 54 | ||
| 55 | /* If it fails, the next read will report it */ | ||
| 56 | static void skip(int size) | ||
| 57 | { | ||
| 58 | lseek(input_fd, size, SEEK_CUR); | ||
| 59 | } | ||
| 60 | |||
| 55 | static int do_read(int fd, void *buf, int size) | 61 | static int do_read(int fd, void *buf, int size) |
| 56 | { | 62 | { |
| 57 | int rsize = size; | 63 | int rsize = size; |
| @@ -169,7 +175,6 @@ static void read_ftrace_printk(void) | |||
| 169 | static void read_header_files(void) | 175 | static void read_header_files(void) |
| 170 | { | 176 | { |
| 171 | unsigned long long size; | 177 | unsigned long long size; |
| 172 | char *header_page; | ||
| 173 | char *header_event; | 178 | char *header_event; |
| 174 | char buf[BUFSIZ]; | 179 | char buf[BUFSIZ]; |
| 175 | 180 | ||
| @@ -179,10 +184,7 @@ static void read_header_files(void) | |||
| 179 | die("did not read header page"); | 184 | die("did not read header page"); |
| 180 | 185 | ||
| 181 | size = read8(); | 186 | size = read8(); |
| 182 | header_page = malloc_or_die(size); | 187 | skip(size); |
| 183 | read_or_die(header_page, size); | ||
| 184 | parse_header_page(header_page, size); | ||
| 185 | free(header_page); | ||
| 186 | 188 | ||
| 187 | /* | 189 | /* |
| 188 | * The size field in the page is of type long, | 190 | * The size field in the page is of type long, |
