Ethereal-cvs: [Ethereal-cvs] cvs commit: ethereal packet-ip.c packet-ip.h packet-ppp.c packet-

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: Mon, 4 Dec 2000 00:37:46 -0600 (CST)
guy         2000/12/04 00:37:45 CST

  Modified files:
    .                    packet-ip.c packet-ip.h packet-ppp.c 
                         packet-tcp.c 
  Log:
  Add a "col_clear()" routine, to clear a column; it appears (and it
  doesn't just seem to be a profiling artifact) that, at least on FreeBSD
  3.4, it's significantly more efficient to clear out a column by stuffing
  a '\0' into the first byte of the column data than to do so by copying a
  null string (I guess when copying one byte, the fixed overhead of the
  procedure call and of "strcpy()" is significant).
  
  Have the TCP dissector set the Protocol column, and clear the Info
  column, before doing anything that might cause an exception to be
  thrown, so that if we *do* get an exception thrown, the frame at least
  shows up as TCP.
  
  Instead of, in the TCP dissector, constructing a string and then
  stuffing it into the Info column, just append to the Info column, which
  avoids one string copy.
  
  Pass a "frame_data" pointer to dissectors for TCP and IP (and PPP)
  options, so they can use it to append to the Info column.
  
  Revision  Changes    Path
  1.108     +9 -9      ethereal/packet-ip.c
  1.16      +4 -3      ethereal/packet-ip.h
  1.47      +46 -30    ethereal/packet-ppp.c
  1.91      +29 -40    ethereal/packet-tcp.c