X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=converter%2Fbabeltrace-lib.c;h=8f0502cdaebdf81536fdeeadfd4576b1372244e3;hp=3e77f1f3608fbf25befded5bcd2d6a7a62246d38;hb=efc5077568403009493d1d72e94f292838825e51;hpb=a3dde804badf7409ce9af45a70b9f33a2c42173a diff --git a/converter/babeltrace-lib.c b/converter/babeltrace-lib.c index 3e77f1f3..8f0502cd 100644 --- a/converter/babeltrace-lib.c +++ b/converter/babeltrace-lib.c @@ -174,7 +174,7 @@ int babeltrace_iter_add_callback(struct babeltrace_iter *iter, struct bt_stream_callbacks, stream->stream_id); if (!bt_stream_cb->per_id_callbacks) { bt_stream_cb->per_id_callbacks = g_array_new(FALSE, TRUE, - sizeof(*bt_stream_cb->per_id_callbacks)); + sizeof(struct bt_callback_chain)); } if (event) { @@ -190,19 +190,19 @@ int babeltrace_iter_add_callback(struct babeltrace_iter *iter, /* find or create the bt_callback_chain for this event */ if (event_id >= bt_stream_cb->per_id_callbacks->len) { - g_array_set_size(bt_stream_cb->per_id_callbacks, event_id); + g_array_set_size(bt_stream_cb->per_id_callbacks, event_id + 1); } bt_chain = &g_array_index(bt_stream_cb->per_id_callbacks, struct bt_callback_chain, event_id); if (!bt_chain->callback) { bt_chain->callback = g_array_new(FALSE, TRUE, - sizeof(*bt_chain->callback)); + sizeof(struct bt_callback)); } } else { /* callback for all events */ if (!iter->main_callbacks.callback) { iter->main_callbacks.callback = g_array_new(FALSE, TRUE, - sizeof(*iter->main_callbacks.callback)); + sizeof(struct bt_callback)); } bt_chain = &iter->main_callbacks; }