X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=types%2Ftypes.c;h=7369f30d09ffb5a272c3d54f14e5466ac3b005b2;hp=1766c61b1cd5e953c761720b901a2ad24292d98e;hb=312623540c466defab45503fbe0ce7ec79dcce85;hpb=b1a2f5806630289aa0b85edbb7f7c581cfa26178 diff --git a/types/types.c b/types/types.c index 1766c61b..7369f30d 100644 --- a/types/types.c +++ b/types/types.c @@ -469,6 +469,30 @@ static struct definition_scope * return scope; } +GQuark new_definition_path(struct definition_scope *parent_scope, GQuark field_name) +{ + GQuark path; + GString *str; + gchar *c_str; + int i; + + str = g_string_new(""); + if (parent_scope) { + for (i = 0; i < parent_scope->scope_path->len; i++) { + GQuark q = g_array_index(parent_scope->scope_path, + GQuark, i); + + g_string_append(str, g_quark_to_string(q)); + g_string_append(str, "."); + } + } + g_string_append(str, g_quark_to_string(field_name)); + c_str = g_string_free(str, FALSE); + path = g_quark_from_string(c_str); + g_free(c_str); + return path; +} + struct definition_scope * new_definition_scope(struct definition_scope *parent_scope, GQuark field_name)