|
@@ -31,21 +31,16 @@ static const char **header_argv;
|
|
|
|
|
|
int perf_header__push_event(u64 id, const char *name)
|
|
|
{
|
|
|
+ struct perf_trace_event_type *nevents;
|
|
|
+
|
|
|
if (strlen(name) > MAX_EVENT_NAME)
|
|
|
pr_warning("Event %s will be truncated\n", name);
|
|
|
|
|
|
- if (!events) {
|
|
|
- events = malloc(sizeof(struct perf_trace_event_type));
|
|
|
- if (events == NULL)
|
|
|
- return -ENOMEM;
|
|
|
- } else {
|
|
|
- struct perf_trace_event_type *nevents;
|
|
|
+ nevents = realloc(events, (event_count + 1) * sizeof(*events));
|
|
|
+ if (nevents == NULL)
|
|
|
+ return -ENOMEM;
|
|
|
+ events = nevents;
|
|
|
|
|
|
- nevents = realloc(events, (event_count + 1) * sizeof(*events));
|
|
|
- if (nevents == NULL)
|
|
|
- return -ENOMEM;
|
|
|
- events = nevents;
|
|
|
- }
|
|
|
memset(&events[event_count], 0, sizeof(struct perf_trace_event_type));
|
|
|
events[event_count].event_id = id;
|
|
|
strncpy(events[event_count].name, name, MAX_EVENT_NAME - 1);
|