Ethereal-cvs: [Ethereal-cvs] cvs commit: ethereal packet-ndps.c

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

From: Guy Harris <guy@xxxxxxxxxxxxxxxxx>
Date: Wed, 4 Jun 2003 03:38:10 -0500 (CDT)
guy         2003/06/04 03:38:10 CDT

  Modified files:
    .                    packet-ndps.c 
  Log:
  Don't use fields in the packet for subtree items - create a separate
  subtree item.
  
  Have "ndps_string()" take a buffer pointer and length as arguments, and
  fill in the supplied buffer if the buffer pointer is non-null.  Have it
  do bounds checking in any case.  Use that to set the text of a server
  info item, and also remove a level from the tree for server info.
  
  Show various item counts and structure sizes in the protocol tree.
  (This also, in some cases, fixes the offset for subsequent items, as not
  only was the item count not put into the protocol tree, the offset
  wasn't advanced past the item count.)
  
  Instead of putting an item into the tree with "proto_tree_add_item()",
  advancing the offset past it, and fetching the item's value with a
  backed-off offset, just fetch the value first and put it into the tree
  with the appropriate "proto_tree_add_XXX" call.  Use switch statements
  if the value is being compared against more than one constant.
  
  Don't use a length of 0 in subtree items; use a length of -1, and then
  set the length when the subtree is complete, so that if you click on the
  subtree item it highlights all the bytes in the subtree.
  
  Fix some "proto_tree_add_uint()" calls that were supposed to be
  "proto_tree_add_item()" calls.
  
  In a "Create job" operation, the alignment after the "Doc Content" item
  had an extra 2 bytes added if it was non-zero; that seems a bit odd (if
  no alignment is required, the stuff after that item is aligned on a
  4-byte boundary, but if alignment is required, the stuff after that
  items is aligned 2 bytes *off of* a 4-byte boundary), and caused at
  least one capture to be misdissected.
  
  Fix some cases where a counted list was inside a counted list, and the
  inner count wasn't being fetched *or* used for the inner list.
  
  Display counts in decimal, not hex.
  
  Remove the question mark from the name of a Boolean preference; other
  Boolean preferences don't have them, and it looks odd with a colon after
  it - that's what the GUI code puts there.  If Boolean preferences should
  have a question mark, it should be put there by the GUI code, instead of
  a colon.
  
  Revision  Changes    Path
  1.22      +1325 -701 ethereal/packet-ndps.c