>
>On 31 Mar, Jeff Foster wrote:
>>>
>>>Oh well, while working on this, I noticed that the full dissector ran
>>>for each packet even while loading. Based on the code before, I had
>>>assumed that tree would be null during the first pass (while populating
>>>the packet list) and only be set during population of the protocol tree
>>>allowing me to short circuit the dissector.
>>>
>>>If this is by design, is there something else I can use?
>>
>> The full dissector (tree != NULL) is run if you have a color filter or
>> a plugin filter. There isn't anything you can to to short circuit the
>> full dissection !!
>>
.....
>
>Except I didn't have a filter. I had simply started "ethereal -r
>tracefile". I understand the reason for dissecting with a filter, but
>then why recall the dissector when you select the packet.
>
Checkout the 'add_packet_to_packet_list' routine in file.c. It creates
the protocol tree root if there is a display filter (cf->dfcode != NULL),
color filter (filter_list != NULL), or a plugin (plugin_list). I don't
understand how you would see a filter otherwise. Anyone else out there
know of a reason ??
If you have saved some color filters they are automatically loaded.
Check for a file named '~/.ethereal/colorfilters'.
Jeff Foster
jfoste@xxxxxxxxxxxx.