struct bt_iter *bt_iter_create(struct bt_context *ctx, const struct bt_iter_pos *begin_pos, const struct bt_iter_pos *end_pos) { struct bt_iter *iter; int ret; if (!ctx) return NULL; iter = g_new0(struct bt_iter, 1); ret = bt_iter_init(iter, ctx, begin_pos, end_pos); if (ret) { g_free(iter); return NULL; } return iter; }
struct bt_ctf_iter *bt_ctf_iter_create(struct bt_context *ctx, const struct bt_iter_pos *begin_pos, const struct bt_iter_pos *end_pos) { struct bt_ctf_iter *iter; int ret; if (!ctx) return NULL; iter = g_new0(struct bt_ctf_iter, 1); ret = bt_iter_init(&iter->parent, ctx, begin_pos, end_pos); if (ret) { g_free(iter); return NULL; } iter->callbacks = g_array_new(FALSE, TRUE, sizeof(struct bt_stream_callbacks)); iter->recalculate_dep_graph = 0; iter->main_callbacks.callback = NULL; iter->dep_gc = g_ptr_array_new(); return iter; }