diff options
author | Michael Mann <mmann78@netscape.net> | 2017-02-07 17:05:17 -0500 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2017-03-06 11:41:54 +0000 |
commit | 56aaa5b705fc87830a0f74f0ad34997ed76f7c92 (patch) | |
tree | dd6ec6c8d7fee0aa341b5a3b4b2ff136089c36ba /sharkd_session.c | |
parent | cfa50019b6366404f54da57700e50862aa87ebb0 (diff) |
Switch conversations to use wmem_tree_t instead of (sorted) GSList.
Change-Id: Ifaf25ca5a7974f1d398ceebbb4c6733d4d3e001a
Reviewed-on: https://code.wireshark.org/review/20006
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'sharkd_session.c')
-rw-r--r-- | sharkd_session.c | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/sharkd_session.c b/sharkd_session.c index 20cd23a9ec..ba06184e3e 100644 --- a/sharkd_session.c +++ b/sharkd_session.c @@ -67,20 +67,7 @@ static struct register_ct * _get_conversation_table_by_name(const char *name) { - guint count = conversation_table_get_num(); - guint i; - - /* XXX, wow O(n^2), move to libwireshark */ - for (i = 0; i < count; i++) - { - struct register_ct *table = get_conversation_table_by_num(i); - const char *label = proto_get_protocol_short_name(find_protocol_by_id(get_conversation_proto_id(table))); - - if (!strcmp(label, name)) - return table; - } - - return NULL; + return get_conversation_by_proto_id(proto_get_id_by_short_name(name)); } static void @@ -226,13 +213,13 @@ sharkd_session_filter_data(const char *filter) } } -static void -sharkd_session_process_info_conv_cb(gpointer data, gpointer user_data) +static gboolean +sharkd_session_process_info_conv_cb(const void* key, void* value, void* userdata) { - struct register_ct *table = (struct register_ct *) data; - int *pi = (int *) user_data; + struct register_ct *table = (struct register_ct *) value; + int *pi = (int *) userdata; - const char *label = proto_get_protocol_short_name(find_protocol_by_id(get_conversation_proto_id(table))); + const char *label = (const char*)key; if (get_conversation_packet_func(table)) { @@ -253,6 +240,7 @@ sharkd_session_process_info_conv_cb(gpointer data, gpointer user_data) *pi = *pi + 1; } + return FALSE; } /** |