epan_dissect_t* epan_dissect_init(epan_dissect_t *edt, epan_t *session, const gboolean create_proto_tree, const gboolean proto_tree_visible) { g_assert(edt); edt->session = session; memset(&edt->pi, 0, sizeof(edt->pi)); if (pinfo_pool_cache != NULL) { edt->pi.pool = pinfo_pool_cache; pinfo_pool_cache = NULL; } else { edt->pi.pool = wmem_allocator_new(WMEM_ALLOCATOR_BLOCK_FAST); } if (create_proto_tree) { edt->tree = proto_tree_create_root(&edt->pi); proto_tree_set_visible(edt->tree, (always_visible_refcount > 0) ? TRUE : proto_tree_visible); } else { edt->tree = NULL; } edt->tvb = NULL; return edt; }
/* APB: from wireshark-1.4.0/epan/epan.c, backported for wireshark pre-1.4.0 support */ epan_dissect_t* epan_dissect_init(epan_dissect_t *edt, const gboolean create_proto_tree, const gboolean proto_tree_visible) { g_assert(edt); if (create_proto_tree) { edt->tree = proto_tree_create_root(); proto_tree_set_visible(edt->tree, proto_tree_visible); } else { edt->tree = NULL; } return edt; }
epan_dissect_t* epan_dissect_init(epan_dissect_t *edt, const gboolean create_proto_tree, const gboolean proto_tree_visible) { g_assert(edt); edt->pi.pool = wmem_allocator_new(WMEM_ALLOCATOR_SIMPLE); if (create_proto_tree) { edt->tree = proto_tree_create_root(&edt->pi); proto_tree_set_visible(edt->tree, proto_tree_visible); } else { edt->tree = NULL; } edt->pi.dependent_frames = NULL; return edt; }
epan_dissect_t* epan_dissect_init(epan_dissect_t *edt, const gboolean create_proto_tree, const gboolean proto_tree_visible) { g_assert(edt); if (create_proto_tree) { edt->tree = proto_tree_create_root(); proto_tree_set_visible(edt->tree, proto_tree_visible); } else { edt->tree = NULL; } edt->pi.dependent_frames = NULL; edt_refs++; return edt; }