X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=plugins%2Fctf%2Ffs%2Fmetadata.c;h=5c64113c3b5d7eef3f3b9e2b478ae8151ecbd427;hb=9254077337fdd8431b4434fbfb066a1309de44ea;hp=e531056c91fadb2769d2ba0483e8cfbb4464f3ba;hpb=33f93973c6b1fb17a8a1c8556d48300b4901ff4c;p=babeltrace.git diff --git a/plugins/ctf/fs/metadata.c b/plugins/ctf/fs/metadata.c index e531056c..5c64113c 100644 --- a/plugins/ctf/fs/metadata.c +++ b/plugins/ctf/fs/metadata.c @@ -43,6 +43,8 @@ #define TSDL_MAGIC 0x75d11d57 +#define NSEC_PER_SEC 1000000000LL + struct packet_header { uint32_t magic; uint8_t uuid[16]; @@ -313,7 +315,7 @@ end: return ret; } -void ctf_fs_metadata_set_trace(struct ctf_fs_component *ctf_fs) +int ctf_fs_metadata_set_trace(struct ctf_fs_component *ctf_fs) { int ret = 0; struct ctf_fs_file *file = get_file(ctf_fs, ctf_fs->trace_path->str); @@ -398,7 +400,9 @@ void ctf_fs_metadata_set_trace(struct ctf_fs_component *ctf_fs) } ret = ctf_visitor_generate_ir(ctf_fs->error_fp, &scanner->ast->root, - &ctf_fs->metadata->trace); + &ctf_fs->metadata->trace, + ctf_fs->options.clock_offset * NSEC_PER_SEC + + ctf_fs->options.clock_offset_ns); if (ret) { PERR("Cannot create trace object from metadata AST\n"); goto error; @@ -412,6 +416,8 @@ error: ctf_fs->metadata->text = NULL; } + ret = -1; + end: if (file) { ctf_fs_file_destroy(file); @@ -420,6 +426,8 @@ end: if (scanner) { ctf_scanner_free(scanner); } + + return ret; } int ctf_fs_metadata_init(struct ctf_fs_metadata *metadata)