Ethereal-cvs: [Ethereal-cvs] cvs commit: ethereal packet-ip.c packet-ip.h packet-ppp.c packet-
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