X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=formats%2Fctf%2Fmetadata%2Fctf-visitor-generate-io-struct.c;h=af75788aa92dedfd9794ea9b2f80473330e23cca;hp=ea8148b257953320431154df55d82bf80eb718f9;hb=f6714e20aa8136e794cb409c6f268fa070e80a52;hpb=f5464725ea2c2344ffa73a67eac22b9f0ddb65dd diff --git a/formats/ctf/metadata/ctf-visitor-generate-io-struct.c b/formats/ctf/metadata/ctf-visitor-generate-io-struct.c index ea8148b2..af75788a 100644 --- a/formats/ctf/metadata/ctf-visitor-generate-io-struct.c +++ b/formats/ctf/metadata/ctf-visitor-generate-io-struct.c @@ -1741,6 +1741,23 @@ int ctf_event_declaration_visit(FILE *fd, int depth, struct ctf_node *node, stru } event->loglevel = (int) loglevel; CTF_EVENT_SET_FIELD(event, loglevel); + } else if (!strcmp(left, "model.emf.uri")) { + char *right; + + if (CTF_EVENT_FIELD_IS_SET(event, model_emf_uri)) { + fprintf(fd, "[error] %s: model.emf.uri already declared in event declaration\n", __func__); + ret = -EPERM; + goto error; + } + right = concatenate_unary_strings(&node->u.ctf_expression.right); + if (!right) { + fprintf(fd, "[error] %s: unexpected unary expression for event model.emf.uri\n", __func__); + ret = -EINVAL; + goto error; + } + event->model_emf_uri = g_quark_from_string(right); + g_free(right); + CTF_EVENT_SET_FIELD(event, model_emf_uri); } else { fprintf(fd, "[warning] %s: attribute \"%s\" is unknown in event declaration.\n", __func__, left); /* Fall-through after warning */