From: Mathieu Desnoyers Date: Fri, 17 Feb 2012 17:32:55 +0000 (-0500) Subject: Fix: packet_seek is local to plugins, but can be overridden X-Git-Tag: v1.0.0-pre1~15 X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=commitdiff_plain;h=2715de36f53dbe1a631a757e8fd3f53b81784c26 Fix: packet_seek is local to plugins, but can be overridden libbabeltrace should not know about them. Signed-off-by: Mathieu Desnoyers --- diff --git a/formats/ctf/ctf.c b/formats/ctf/ctf.c index 51a87083..5911b19d 100644 --- a/formats/ctf/ctf.c +++ b/formats/ctf/ctf.c @@ -1384,6 +1384,12 @@ struct trace_descriptor *ctf_open_trace(const char *path, int flags, struct ctf_trace *td; int ret; + /* + * If packet_seek is NULL, we provide our default version. + */ + if (!packet_seek) + packet_seek = ctf_packet_seek; + td = g_new0(struct ctf_trace, 1); switch (flags & O_ACCMODE) { diff --git a/lib/context.c b/lib/context.c index f4c234aa..715273a9 100644 --- a/lib/context.c +++ b/lib/context.c @@ -31,9 +31,6 @@ #include #include /* For O_RDONLY */ -/* TODO ybrosseau: should be hidden in the CTF format */ -#include /* for ctf_packet_seek */ - #include struct bt_context *bt_context_create(void) @@ -71,8 +68,7 @@ int bt_context_add_trace(struct bt_context *ctx, const char *path, ret = -1; goto end; } - td = fmt->open_trace(path, O_RDONLY, - ctf_packet_seek, NULL); + td = fmt->open_trace(path, O_RDONLY, NULL, NULL); if (!td) { fprintf(stderr, "[error] [Context] Cannot open_trace of the format %s .\n\n", path);