From: Mathieu Desnoyers Date: Tue, 17 May 2011 13:06:10 +0000 (-0400) Subject: Fix multi-packet packet-based metadata X-Git-Tag: v0.1~46 X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=commitdiff_plain;h=7f4b5c4d89ec59fed423be83ca49811459329679 Fix multi-packet packet-based metadata Signed-off-by: Mathieu Desnoyers --- diff --git a/formats/ctf/ctf.c b/formats/ctf/ctf.c index ac064b80..13c87eae 100644 --- a/formats/ctf/ctf.c +++ b/formats/ctf/ctf.c @@ -465,11 +465,7 @@ int ctf_open_trace_metadata_packet_read(struct ctf_trace *td, FILE *in, } toread -= readlen; if (!toread) { - ret = -EOF; - break; - } - if (feof(in)) { - ret = -EINVAL; + ret = 0; /* continue reading next packet */ break; } } @@ -491,10 +487,11 @@ int ctf_open_trace_metadata_stream_read(struct ctf_trace *td, FILE **fp, for (;;) { ret = ctf_open_trace_metadata_packet_read(td, in, out); - if (ret == -EOF) { - ret = 0; + if (ret) { break; - } else if (ret) { + } + if (feof(in)) { + ret = 0; break; } }