Ethereal-cvs: [Ethereal-cvs] cvs commit: ethereal/epan proto.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: Sun, 20 Jan 2002 16:12:40 -0600 (CST)
guy         2002/01/20 16:12:39 CST

  Modified files:
    epan                 proto.c 
  Log:
  Allow a length of -1 to be specified when adding FT_NONE and FT_PROTOCOL
  items to the protocol tree; it's interpreted as "the rest of the data in
  the tvbuff".  This can be used if
  
  	1) the item covers the entire packet or the remaining payload in
  	   the packet
  
  or
  
  	2) the item's length won't be known until it's dissected, and
  	   will be then set with "proto_item_set_len()" - if an
  	   exception is thrown in the dissection, it means the item ran
  	   *past* the end of the tvbuff, so saying it runs to the end of
  	   the tvbuff is reasonable.
  
  Convert a number of "proto_tree_add_XXX()" calls using
  "tvb_length_remaining()", values derived from the result of
  "tvb_length()", or 0 (in the case of items whose length is unknown) to
  use -1 instead (using 0 means that if an exception is thrown, selecting
  the item highlights nothing; using -1 means it highlights all the data
  for that item that's available).
  
  In some places where "tvb_length()" or "tvb_length_remaining()" was used
  to determine how large a packet is, use "tvb_reported_length()" or
  "tvb_reported_length_remaining()", instead - the first two calls
  indicate how much captured data was in the packet, the latter two calls
  indicate how large the packet actually was (and the fact that using the
  latter could cause BoundsError exceptions to be thrown is a feature - if
  such an exception is thrown, the frame really *was* short, and it should
  be tagged as such).
  
  Replace some "proto_tree_add_XXX()" calls with equivalent
  "proto_tree_add_item()" calls.
  
  Fix some indentation.
  
  Revision  Changes    Path
  1.50      +26 -8     ethereal/epan/proto.c