From 51551c6ffe79971db022c2533db76f353523399e Mon Sep 17 00:00:00 2001 From: compudj Date: Wed, 24 Aug 2005 04:12:43 +0000 Subject: [PATCH] fix multiversion traces handling git-svn-id: http://ltt.polymtl.ca/svn@1070 04897980-b3bd-0310-b5e0-8ef037075253 --- ltt/branches/poly/ltt/ltt-private.h | 2 +- ltt/branches/poly/ltt/tracefile.c | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/ltt/branches/poly/ltt/ltt-private.h b/ltt/branches/poly/ltt/ltt-private.h index b525f9d7..bf659e02 100644 --- a/ltt/branches/poly/ltt/ltt-private.h +++ b/ltt/branches/poly/ltt/ltt-private.h @@ -183,7 +183,7 @@ struct ltt_block_start_header { } end; uint32_t lost_size; /* Size unused at the end of the buffer */ uint32_t buf_size; /* The size of this sub-buffer */ - char trace[0]; + struct ltt_trace_header_any trace[0]; } LTT_PACKED_STRUCT; diff --git a/ltt/branches/poly/ltt/tracefile.c b/ltt/branches/poly/ltt/tracefile.c index 82445c71..24fe6fe5 100644 --- a/ltt/branches/poly/ltt/tracefile.c +++ b/ltt/branches/poly/ltt/tracefile.c @@ -310,7 +310,10 @@ gint ltt_tracefile_open(LttTrace *t, gchar * fileName, LttTracefile *tf) header = (struct ltt_block_start_header*)tf->buffer.head; - if(parse_trace_header(header->trace, tf, NULL)) goto unmap_file; + if(parse_trace_header(header->trace, tf, NULL)) { + g_warning("parse_trace_header error"); + goto unmap_file; + } //store the size of the file tf->file_size = lTDFStat.st_size; @@ -1112,7 +1115,8 @@ LttTrace *ltt_trace_open(const gchar *pathname) g_assert(group->len > 0); tf = &g_array_index (group, LttTracefile, 0); header = (struct ltt_block_start_header*)tf->buffer.head; - g_assert(parse_trace_header(header->trace, tf, t) == 0); + g_assert(parse_trace_header(header->trace, + tf, t) == 0); t->num_cpu = group->len; @@ -1858,8 +1862,7 @@ static int ltt_seek_next_event(LttTracefile *tf) /* seek over the buffer header if we are at the buffer start */ if(tf->event.offset == 0) { - tf->event.offset += sizeof(struct ltt_block_start_header) - + tf->buffer_header_size; + tf->event.offset += tf->buffer_header_size; if(tf->event.offset == tf->buf_size - tf->buffer.lost_size) { ret = ERANGE; -- 2.34.1