X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;ds=sidebyside;f=types%2Ftypes.c;h=9c5cfca3a3941be044abf68e4c4d90a35d560945;hb=dd0365d91cfb990cf39c2c9ce50bb73423b6041e;hp=11e91b02218524b15a21f558c0f7ec311f69f50a;hpb=64fa3fec6c28f1d077812b4bfa06ae73b0f5999d;p=babeltrace.git diff --git a/types/types.c b/types/types.c index 11e91b02..9c5cfca3 100644 --- a/types/types.c +++ b/types/types.c @@ -18,10 +18,19 @@ * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. */ #include -#include +#include +#include #include #include #include @@ -31,10 +40,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; } @@ -113,10 +125,10 @@ static int compare_paths(GArray *a, GArray *b, int len) static int is_path_child_of(GArray *path, GArray *maybe_parent) { - int i, ret; + int ret; if (babeltrace_debug) { - int need_dot = 0; + int i, need_dot = 0; printf_debug("Is path \""); for (i = 0; i < path->len; need_dot = 1, i++) @@ -146,7 +158,7 @@ end: } static struct definition_scope * - get_definition_scope(struct definition *definition) + get_definition_scope(const struct definition *definition) { return definition->scope; } @@ -493,7 +505,6 @@ GQuark new_definition_path(struct definition_scope *parent_scope, GQuark path; GString *str; gchar *c_str; - int i; int need_dot = 0; str = g_string_new(""); @@ -501,6 +512,8 @@ GQuark new_definition_path(struct definition_scope *parent_scope, g_string_append(str, root_name); need_dot = 1; } else if (parent_scope) { + int i; + for (i = 0; i < parent_scope->scope_path->len; i++) { GQuark q = g_array_index(parent_scope->scope_path, GQuark, i); @@ -534,7 +547,7 @@ struct definition_scope * if (root_name) { scope = _new_definition_scope(parent_scope, 0); - append_scope_path(root_name, scope->scope_path); + bt_append_scope_path(root_name, scope->scope_path); } else { int scope_path_len = 1; @@ -561,7 +574,7 @@ struct definition_scope * /* * in: path (dot separated), out: q (GArray of GQuark) */ -void append_scope_path(const char *path, GArray *q) +void bt_append_scope_path(const char *path, GArray *q) { const char *ptrbegin, *ptrend = path; GQuark quark; @@ -599,7 +612,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); @@ -611,7 +624,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) { @@ -629,7 +642,7 @@ struct definition_integer *lookup_integer(struct definition *definition, return lookup_integer; } -struct definition_enum *lookup_enum(struct definition *definition, +struct definition_enum *bt_lookup_enum(const struct definition *definition, const char *field_name, int signedness) { @@ -647,7 +660,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;