Add support for trace:hostname field
[babeltrace.git] / formats / ctf / metadata / ctf-visitor-generate-io-struct.c
index 43fdcb22442386cace3e60553842e3b5c7eabd82..ea8148b257953320431154df55d82bf80eb718f9 100644 (file)
@@ -2458,6 +2458,21 @@ int ctf_env_declaration_visit(FILE *fd, int depth, struct ctf_node *node,
                        strncpy(env->procname, right, TRACER_ENV_LEN);
                        env->procname[TRACER_ENV_LEN - 1] = '\0';
                        printf_verbose("env.procname = \"%s\"\n", env->procname);
+               } else if (!strcmp(left, "hostname")) {
+                       char *right;
+
+                       if (env->hostname[0]) {
+                               fprintf(fd, "[warning] %s: duplicated env hostname\n", __func__);
+                               goto error;     /* ret is 0, so not an actual error, just warn. */
+                       }
+                       right = concatenate_unary_strings(&node->u.ctf_expression.right);
+                       if (!right) {
+                               fprintf(fd, "[warning] %s: unexpected unary expression for env hostname\n", __func__);
+                               goto error;     /* ret is 0, so not an actual error, just warn. */
+                       }
+                       strncpy(env->hostname, right, TRACER_ENV_LEN);
+                       env->hostname[TRACER_ENV_LEN - 1] = '\0';
+                       printf_verbose("env.hostname = \"%s\"\n", env->hostname);
                } else if (!strcmp(left, "domain")) {
                        char *right;
 
@@ -2562,6 +2577,7 @@ int ctf_env_visit(FILE *fd, int depth, struct ctf_node *node, struct ctf_trace *
 
        trace->env.vpid = -1;
        trace->env.procname[0] = '\0';
+       trace->env.hostname[0] = '\0';
        trace->env.domain[0] = '\0';
        trace->env.sysname[0] = '\0';
        trace->env.release[0] = '\0';
This page took 0.032114 seconds and 4 git commands to generate.