Fix memory leaks induced by lack of libpopt documentation
[babeltrace.git] / types / types.c
index 8ef18342eb0e42255641c93f5809330287b498cf..f74e730f3df71e2531b27b54bff4dc1e45a2db7a 100644 (file)
@@ -5,7 +5,9 @@
  *
  * Types registry.
  *
- * Copyright 2010, 2011 - Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ * Copyright 2010-2011 EfficiOS Inc. and Linux Foundation
+ *
+ * Author: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -19,7 +21,8 @@
  */
 
 #include <babeltrace/format.h>
-#include <babeltrace/babeltrace.h>
+#include <babeltrace/babeltrace-internal.h>
+#include <babeltrace/types.h>
 #include <limits.h>
 #include <glib.h>
 #include <errno.h>
@@ -29,10 +32,13 @@ GQuark prefix_quark(const char *prefix, GQuark quark)
 {
        GQuark nq;
        GString *str;
+       char *quark_str;
 
        str = g_string_new(prefix);
        g_string_append(str, g_quark_to_string(quark));
-       nq = g_quark_from_string(g_string_free(str, FALSE));
+       quark_str = g_string_free(str, FALSE);
+       nq = g_quark_from_string(quark_str);
+       g_free(quark_str);
        return nq;
 }
 
@@ -144,7 +150,7 @@ end:
 }
 
 static struct definition_scope *
-       get_definition_scope(struct definition *definition)
+       get_definition_scope(const struct definition *definition)
 {
        return definition->scope;
 }
@@ -597,7 +603,7 @@ void free_definition_scope(struct definition_scope *scope)
        g_free(scope);
 }
 
-struct definition *lookup_definition(struct definition *definition,
+struct definition *lookup_definition(const struct definition *definition,
                                     const char *field_name)
 {
        struct definition_scope *scope = get_definition_scope(definition);
@@ -609,7 +615,7 @@ struct definition *lookup_definition(struct definition *definition,
                                             scope);
 }
 
-struct definition_integer *lookup_integer(struct definition *definition,
+struct definition_integer *lookup_integer(const struct definition *definition,
                                          const char *field_name,
                                          int signedness)
 {
@@ -627,7 +633,7 @@ struct definition_integer *lookup_integer(struct definition *definition,
        return lookup_integer;
 }
 
-struct definition_enum *lookup_enum(struct definition *definition,
+struct definition_enum *lookup_enum(const struct definition *definition,
                                    const char *field_name,
                                    int signedness)
 {
@@ -645,7 +651,7 @@ struct definition_enum *lookup_enum(struct definition *definition,
        return lookup_enum;
 }
 
-struct definition *lookup_variant(struct definition *definition,
+struct definition *lookup_variant(const struct definition *definition,
                                  const char *field_name)
 {
        struct definition *lookup;
This page took 0.024571 seconds and 4 git commands to generate.