structure to the "packet_info" structure; only stuff that's permanently
stored with each frame should be in the "frame_data" structure, and the
"column_info" structure is not guaranteed to hold the column values for
that frame at all times - it was only in the "frame_data" structure so
that it could be passed to dissectors, and, as all dissectors are now
passed a pointer to a "packet_info" structure, it could just as well be
put in the "packet_info" structure.
That saves memory, by shrinking the "frame_data" structure (there's one
of those per frame), and also lets us clean up the code a bit.
svn path=/trunk/; revision=4370
take a dissector handle as an argument, rather than a pointer to a
dissector function and a protocol ID. Associate dissector handles with
dissector table entries.
svn path=/trunk/; revision=4308
If "get_hex_uint()" supplies a "next_offset" equal to the offset fed
into it, it found no hex digits; don't put the value into the tree if
that's the case.
If "get_unquoted_string()" or "get_quoted_string()" returns NULL, the
string separator/terminator wasn't found; don't put the value into the
tree if that's the case.
svn path=/trunk/; revision=3947
throw an exception.
Fix a comment to reflect that the "location", "info", and
"make-and-model" fields are optional (CUPS 1.0[.x] didn't put them into
its browse packets).
svn path=/trunk/; revision=3132
bitfields.
Rename "get_space()" to "skip_space()", to indicate what it does, and
have it return FALSE if the first non-blank character it found was a CR
or LF (meaning "end of packet"). If it returns FALSE, stop dissecting
the packet.
In "get_unquoted_string()", search not only for a space, but also for a
tab, CR, or LF; there is no guarantee that there will be any fields in
the packet past the URI (CUPS 1.0[.x] didn't put anything after the URI,
and that's what I'm running on my machine...).
svn path=/trunk/; revision=3130