create generic macros for allocating/freeing structures.
remove one more slow GMemChunk and replace it with a simple linked list
~4% speed improvement in my tests.
the allocated data is never freed. this may be a problem if ethereal is
ever supported on a platform lacking resource tracking but makes the
implementation faster and simpler.
svn path=/trunk/; revision=9095
so they can't be freed with "g_free()"; keep a list of the chunks of
"fvalue_t"s, which are whare are allocated with "g_malloc()", so we can
free them all.
svn path=/trunk/; revision=9090
This function is also very small, so small that teh overhead for the actual function call and return is likely to be a significant part
of its execution time.
change it into a macro and make it thus slightly faster by eliminating the function call overhead.
svn path=/trunk/; revision=9083
Removed the GMemChunk used to allocate/free field_info structures
and used a free list to store the freed structs until they are allocated again.
Ethereal will allocate more field_info structs as it needs to but never free them. Instead the are just placed in a cheap and fast free list so that if we
want to use the struct again, this will be fast.
This affects the speed of the two functions
alloc_field_info() that should be slightly faster now
free_field_info() that was replaced with a 2 line macro.
All in all my testing suggests that ethereal is 2-3% faster with this patch.
svn path=/trunk/; revision=9073
not for VSA 2
- Fixme comment about length handling added
- Cleanup: Setting a variable to the right type removes the necessity
for casts.
svn path=/trunk/; revision=9067
compatible with and dissect the packets from Martin R and Paul H.
I still think ethereal was correct before this patch and that
this patch is not compatible with teh standard.
Anyway, that doesnt matter much. With this patch ethereal will dissect the packets properly.
Time to study x691 again.
svn path=/trunk/; revision=9066
* Fix the WSP dissector so a Quoted-string with extraneous
trailing quote is displayed without duplicated final quote, and
issue a warning in the protocol tree.
* Remove the Openwave x-up-proxy-client-id header decoding as it
was incorrectly decoded as a text string, and process it with
the default Openwave header parser.
* Fix byte highlighting of some WSP parameters.
* Rename the WSP parameter filter names so they don't all refer to
content_type.
svn path=/trunk/; revision=9062
* Add a "match_string" field to the "packet_info" structure,
saving the string value that matched in a string dissector
lookup, by analogy to "match_port" - this was required for
dissection with token rendering of WBXML content when no public
ID was given (e.g. Nokia/Ericsson OTA provisioning data).
* Add support for textual content type based WBXML token
mapping.
* Add extra WBXML public identifiers.
* Add the Nokia/Ericsson OTA provisioning (version 7) token
definitions.
* Inform the user when a content-type based token match is found.
svn path=/trunk/; revision=9061
In the GPROF logs proto_registrar_get_nth() used to take anything between 2.5 and 5.5% of the time.
Replace the GLIB array with a handroleld one for one of the private structures.
the function should now be virtually zero cost
and thus ethereal should be 2.5-5.5% faster on those traces.
anyone that wants to, please rerun GPROF with this fix and see what has changed.
svn path=/trunk/; revision=9058
over the wire, at least in the DCE RPC 1.1 code.
That suggests that the first 24 bytes of a Map request are the UUID
pointer that the EPM IDL says should be there, not a context handle.
svn path=/trunk/; revision=9057
"AIX", and that code was never compiled. Libpcap uses "_AIX" to
conditionally compile in the extra AIX BPF support; we'll do the same.
svn path=/trunk/; revision=9056
reported this as a problem when compiling on AIX? Doesn't any compiler
complain that "strncmp()" isn't being passed enough arguments? GCC sure
did in a test program I built on FreeBSD 3.4....)
svn path=/trunk/; revision=9055