Ethereal-dev: Re: [PATCH] Re: [Ethereal-dev] Problem with parsing float values onsome machines

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

From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Wed, 28 Jan 2004 01:33:03 -0800
On Wed, Jan 28, 2004 at 09:46:58AM +0100, Lars Ruoff wrote:
> > Would it be possible to allocate, for all rows in RTP analysis's CList,
> > a data structure containing the numerical values for that row (and to
> > free all those data structures when the CList is destroyed)?
> >
> > If so, then you could set the row data for the row to be a pointer to
> > the corresponding data structure, and have the sort function get that
> > data for the row (the "data" field of the GtkCListRow structure) and
> > sort based on the structure members - no string process is involved at
> > all with that.
> 
> Of course that would be possible. But the problem occurs in at least 4
> places throughout Ethereal code, including the main packet list (!),

There's already such a data structure for the rows in that - the
frame_data structure.  I have code to make that work for packet number,
absolute time, relative time, and delta time column formats (except if
you have a time reference set - "*REF*" is less than any numerical
value, presumably, as "*" is less than any digit), packet length, and
cumulative bytes; the remaining numeric fields are port numbers, which
don't have "."s or ","s in them.

> various statistics-tables, ...
> They would all have to be changed.

Ideally, there'd be common code to handle statistics tables, so that the
taps would just construct a table of values for the columns, and the
common code would construct the CLists (or, for tethereal, print the
values in a table).  That'd let that be done in one place.