Ethereal-cvs: [Ethereal-cvs] cvs commit: ethereal/gtk main.c menu.c

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <guy@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 2 May 2003 19:48:38 -0500 (CDT)
guy         2003/05/02 19:48:38 CDT

  Modified files:
    gtk                  main.c menu.c 
  Log:
  Rename "proto_alloc_dfilter_string()" to
  "proto_construct_dfilter_string()", to more accurately reflect what it
  does.
  
  Give it, and "proto_can_match_selected()", an "epan_dissect_t *"
  argument, which replaces the raw data pointer argument to
  "proto_construct_dfilter_string()".
  
  For fields that don't have a type we can directly filter on, we don't
  support filtering on the field as raw data if:
  
  	the "epan_dissect_t *" argument is null;
  
  	the data source tvbuff for the field isn't the tvbuff for the
  	"epan_dissect_t" in question (i.e., it's in the result of a
  	reassembly, and "frame[N:M]" can't get at it).
  
  Trim the length the raw data in the case of such a field to the length
  of the tvbuff for the "epan_dissect_t" in question, so we don't go past
  it.  Fetch the raw data bytes to match from that tvbuff.
  
  Have "proto_construct_dfilter_string()" return a null pointer if it
  can't construct the filter string, and have "protocolinfo_packet()" in
  the tap-protocolinfo tap ignore a field if
  "proto_construct_dfilter_string()" can't construct a filter string for
  it - and have it pass NULL as the "epan_dissect_t *", for now.  If
  somebody decides it makes sense to dump out a "frame[N:M] =" value for
  non-registered fields, it can be changed to pass "edt".
  
  Revision  Changes    Path
  1.292     +13 -13    ethereal/gtk/main.c
  1.93      +5 -5      ethereal/gtk/menu.c