* WIRESHARK_DEBUG_EP_NO_CHUNKS
* WIRESHARK_DEBUG_SE_NO_CHUNKS
* WIRESHARK_DEBUG_EP_NO_CANARY
* WIRESHARK_DEBUG_SE_NO_CANARY
This allows us to enable/disable memory chunks and canaries at runtime _without_ needing to recompile.
svn path=/trunk/; revision=29375
-Bugs
* str->len not set correctly in some cases;
* trailing '\0' not always accounted for;
* (issues relating to determining when & how much
to expand string buffer).
-Other
* Change append, append_c, truncate to return
pointer to ep_strbuf (similar to the corresponding
GString functions);
* Rename certain variables to clarify usage (as I understand
the intended usage);
* ep_strbuf_grow: use current allocated length and not current
string length as the starting point;
* Optimizations;
* Add some additional comments to emem.h ep_strbuf section
* Use consistent indentation throughout emem.c;
svn path=/trunk/; revision=28044
if compiled in and the env var WIRESHARK_DEBUG_EP_CANARY is set:
will check for canary integrity at every call to EP_CHECK_CANARY()
if corruption is found it exits pronting the prior location and the location in which corruption was found.
Hopefully it stops running while the corruptor is still in the stack.
see EP_CHECK_CANARY() calls in packet.c as an example.
svn path=/trunk/; revision=25927
members to be const pointers when that's possible, and throw in some
casts when the GLib API fails to have properly consted arguments.
Use ep_strdup_printf() in some cases.
svn path=/trunk/; revision=25596
will traverse the entries in the lexical order of the key.
add a flag to lookup/insert for strings to specify whether a case
insensitive key should be used instead of a (default) case sensitive
key.
svn path=/trunk/; revision=23736
--enable-extra-gcc-checks set.
If we turn on -pedantic, try turning on -Wno-long-long as well, so that
it's not *so* pedantic that it rejects the 64-bit integral data types
that we explicitly require.
Constify a bunch of stuff, and make some other changes, to get rid of
warnings.
Clean up some indentation.
svn path=/trunk/; revision=21526
The purpose of the patch is to provide a new output format (so it is
independent of -V): single line record per-packet with the fields chosen by the
user, with configuration options to control separator, quoting and whether a
header line is printed. It also extends some existing options behaviour (-c and
-a:filesize) so that they affect reading a file as well as writing one, so that
only the first <n> packets or bytes are read).
svn path=/trunk/; revision=21211
it broken in one of the previous bugfixes to tcp
add a function to print an emem tree to the console for easier emem tree debugging
svn path=/trunk/; revision=19877
change all accessor functions to be defines to the emem_tree_ functions.
now to create a tree with a different scope we only need to create a new
..._tree_create() function and set up the appropriate defines
(it was a mistake to call the functions se_tree_create and se_tree_create_non_persistent, they should be the other way around i.e. se_tree_create_persistent and se_tree_create )
svn path=/trunk/; revision=18895
structs/unions (GCC supports it "for compatibility with other
compilers"; presumably that's not for compatibility with the version of
Sun C that rejected it - was that a PCCism?).
svn path=/trunk/; revision=18072
test this functionality by calling these vector insert/lookup tree functions from the nfs dissector for when filehandles are used as a key.
these vector functions could also be used to efficiently store conversations :
se_tree_key_t[6] = {
{ addr_len/4, &src_addr },
{ addr_len/4, &dst_addr },
{ 1, &src_port32 },
{ 1, &dst_port32 },
{ 1, &protocol32 },
{ 0, NULL }
}
(the nfs dissector needs a LOT of work. It is very painful to work with
very large nfs traces with all the memory it wastes (and eats) as well as how slow all the tables make it)
svn path=/trunk/; revision=17477
Make them not reuse a va_list; there's no guarantee that it can be
used more than once and, in fact, on some platforms, you *can't* use it
more than once. Based on a patch by Pekka Pietikainen.
Clean up indentation a bit.
svn path=/trunk/; revision=16174
Add a simple stack implememtation that uses ep_alloc
Add ep_new() ep_new0() macros
tpg.[ch]:
use the stack in tpg helpers
svn path=/trunk/; revision=16061
This offesr memory allocation with a packet scope making memory leaks less likely and memory management faster.
Add initialization calls for both tethereal and ethereal.
Convert the ip_to_str() function to use this and avoid doing the silly rotating buffers thing it previously did.
We also need an equivalent set of functions for allocation with capture file scope (free when next capture is loaded) but i dont know where to put the free_all call.
svn path=/trunk/; revision=14984