diff options
author | Jeff Morriss <jeff.morriss@ulticom.com> | 2011-05-12 03:18:34 +0000 |
---|---|---|
committer | Jeff Morriss <jeff.morriss@ulticom.com> | 2011-05-12 03:18:34 +0000 |
commit | 009156289f5af6d6abe25c0b24f0b439bc996f47 (patch) | |
tree | c103eac46fa0a63a2535c91386947715c15589e6 /epan/tap.c | |
parent | 995d748f0561867b02682d2468fb7ae935866de3 (diff) |
Fix the test.sh failures based on Guy's suggestion in https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5445#c15 :
Add a new tap flag to indicate that a tap listener is just a "dissector helper",
that is, a tap which is used by a dissector to help it do its dissection but
does not, itself, require dissection.
Use this new flag in the dissectors which register taps.
Remove the (now-unused) have_tap_listeners() function.
svn path=/trunk/; revision=37069
Diffstat (limited to 'epan/tap.c')
-rw-r--r-- | epan/tap.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/epan/tap.c b/epan/tap.c index 1e356bcda5..7518e5050c 100644 --- a/epan/tap.c +++ b/epan/tap.c @@ -508,12 +508,23 @@ remove_tap_listener(void *tapdata) } /* - * Return TRUE if we have tap listeners, FALSE otherwise. + * Return TRUE if we have one or more tap listeners that require dissection, + * FALSE otherwise. */ gboolean -have_tap_listeners(void) +tap_listeners_require_dissection(void) { - return tap_listener_queue != NULL; + volatile tap_listener_t *tap_queue = tap_listener_queue; + + while(tap_queue) { + if(!(tap_queue->flags & TL_IS_DISSECTOR_HELPER)) + return TRUE; + + tap_queue = tap_queue->next; + } + + return FALSE; + } /* Returns TRUE there is an active tap listener for the specified tap id. */ |