OSDN Git Service

tools lib traceevent: Add destructor for format_field
authorDavid Ahern <dsahern@gmail.com>
Thu, 19 Mar 2015 18:36:21 +0000 (12:36 -0600)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Sat, 21 Mar 2015 17:53:38 +0000 (14:53 -0300)
Move the calls that frees the resources allocated for a struct format_field to
a separate routine.

Signed-off-by: David Ahern <dsahern@gmail.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/r/1426790181-19118-1-git-send-email-dsahern@gmail.com
[ Split this part from a larger patch, added pevent_ prefix as requested by Steven ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/lib/traceevent/event-parse.c
tools/lib/traceevent/event-parse.h

index afe20ed..d7c37a7 100644 (file)
@@ -6228,15 +6228,20 @@ void pevent_ref(struct pevent *pevent)
        pevent->ref_count++;
 }
 
+void pevent_free_format_field(struct format_field *field)
+{
+       free(field->type);
+       free(field->name);
+       free(field);
+}
+
 static void free_format_fields(struct format_field *field)
 {
        struct format_field *next;
 
        while (field) {
                next = field->next;
-               free(field->type);
-               free(field->name);
-               free(field);
+               pevent_free_format_field(field);
                field = next;
        }
 }
index 5b4efc0..6abda54 100644 (file)
@@ -619,6 +619,7 @@ enum pevent_errno pevent_parse_format(struct pevent *pevent,
                                      const char *buf,
                                      unsigned long size, const char *sys);
 void pevent_free_format(struct event_format *event);
+void pevent_free_format_field(struct format_field *field);
 
 void *pevent_get_field_raw(struct trace_seq *s, struct event_format *event,
                           const char *name, struct pevent_record *record,