aboutsummaryrefslogtreecommitdiffstats
path: root/epan/tvbuff.h
AgeCommit message (Collapse)AuthorFilesLines
2010-04-03 From Yaniv Kaul: constify parameterswmeier1-86/+86
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4422 From me: Fix a number of instances where the function prototype or the function definition wasn't changed so there was a mismatch thus causing Windows (but not gcc) compilation errors. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@32365 f5534014-38df-0310-8fa8-9805f1628bb7
2010-04-02Revert SVN #32360 until Windows compilation errors corrected.wmeier1-70/+70
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@32361 f5534014-38df-0310-8fa8-9805f1628bb7
2010-04-02From Yaniv Kaul: constify parameterswmeier1-70/+70
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4422 git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@32360 f5534014-38df-0310-8fa8-9805f1628bb7
2010-03-09Mark unused arguments.guy1-2/+3
Clean up white space. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@32149 f5534014-38df-0310-8fa8-9805f1628bb7
2009-11-14From yy:dimeg1-0/+7
About GSM system information type 2quater Modified to use newly defined tvb_get_bits() in tvbuff.c https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4219 git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@30962 f5534014-38df-0310-8fa8-9805f1628bb7
2009-09-10offset_from_real_beginning() is only called with 0 as second argument, so ↵krj1-2/+2
remove the argument completely. It seems that the second argument only acts as an accumulator allowing offset_from_real_beginning() to call itself recursively. To be consistent offset_from_real_beginning() is renamed to tvb_offset_from_real_beginning(). git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@29844 f5534014-38df-0310-8fa8-9805f1628bb7
2009-08-16Add a new function, tvb_new_subset_remaining(), which is a sligtly optimized ↵krj1-0/+4
version of tvb_new_subset(). The latter can be mapped to the former by tvb_new_subset(tvb, offset, -1 /* backing_length */, -1 /* reported_length */). We can disable some bounds checking because 'backing_length' and 'reported_length' are hardcoded to -1. The current implementation of tvb_new_subset_remaining() only has the THROW_ON(reported_length < 1) check removed when compared to tvb_new_subset(). So there's room for improvement in this function. We should be able to disable some more (redundant) bounds checking. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@29445 f5534014-38df-0310-8fa8-9805f1628bb7
2009-08-11Be a little more explicit in our description of tvb_get_ptr.gerald1-5/+12
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@29379 f5534014-38df-0310-8fa8-9805f1628bb7
2009-04-24Added tvb_format_stringzpad_wsp().stig1-0/+6
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@28140 f5534014-38df-0310-8fa8-9805f1628bb7
2009-04-05Back out the previous change. As Guy pointed out, we might not want togerald1-13/+13
be so size_t-happy. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@27962 f5534014-38df-0310-8fa8-9805f1628bb7
2009-04-04tvbuff.[ch]: Accept more size_t's.gerald1-13/+13
packet-wcp.c: Add size_t casts. packet-x11.c: Use string buffers. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@27959 f5534014-38df-0310-8fa8-9805f1628bb7
2009-04-03Make the "length" argument of the tvb_mem* functions a size_t since it'sgerald1-4/+4
not uncommon to pass them the result of pointer arithmetic. Add size_t casts in other areas. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@27941 f5534014-38df-0310-8fa8-9805f1628bb7
2009-04-01Add to new functions from the optimization patch:etxrab1-0/+10
tvb_child_uncompress() tvb_new_child_real_data() git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@27924 f5534014-38df-0310-8fa8-9805f1628bb7
2009-03-27Introduce two new functions:sfisher1-0/+10
tvb_get_seasonal_string(); tvb_get_seasonal_stringz(); .. which work the same as the ephemeral versions of the functions, but use se_alloc() instead of ep_alloc(). git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@27868 f5534014-38df-0310-8fa8-9805f1628bb7
2008-04-09Remove:etxrab1-4/+0
#ifdef NEED_G_ASCII_STRCASECMP_H #include "g_ascii_strcasecmp.h" #endif git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@24859 f5534014-38df-0310-8fa8-9805f1628bb7
2007-12-09Move the routines tvb_skip_wsp() to tvbuff.cetxrab1-0/+21
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@23818 f5534014-38df-0310-8fa8-9805f1628bb7
2007-11-27strcasecmp(), strncasecmp(), g_strcasecmp(), and g_strncasecmp() delendaguy1-2/+6
est. Use g_ascii_strcasecmp() and g_ascii_strncasecmp(), and supply our own versions if they're missing from GLib (as is the case with GLib 1.x). In the code to build the list of named fields for Diameter, don't use g_strdown(); do our own g_ascii_-style upper-case to lower-case mapping in the hash function and use g_ascii_strcasecmp() in the compare function. We do this because there is no guarantee that toupper(), tolower(), and functions that use them will, for example, map between "I" and "i" in all locales; in Turkish locales, for example, there are, in both upper case and lower case, versions of "i" with and without a dot, and the upper-case version of "i" is "I"-with-a-dot and the lower-case version of "I" is "i"-without-a-dot. This causes strings that should match not to match. This finishes fixing bug 2010 - an earlier checkin prevented the crash (as there are other ways to produce the same crash, e.g. a bogus dictionary.xml file), but didn't fix the case-insensitive string matching. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@23623 f5534014-38df-0310-8fa8-9805f1628bb7
2007-05-18Split tvb_get_bits64 into tvb_get_bits8 tvb_get_bits16 tvb_get_bits32 and ↵etxrab1-1/+4
tvb_get_bits64 and use them in proto_tree_add_bits_ret_val(). git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21828 f5534014-38df-0310-8fa8-9805f1628bb7
2007-04-28Make tvb_memdup(), like ep_tvb_memdup(), return a "void *".guy1-1/+1
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21610 f5534014-38df-0310-8fa8-9805f1628bb7
2007-04-28Add:etxrab1-0/+2
proto_tree_add_bits_ret_val() tvb_get_bits() And modify proto_tree_add_bits() not to return a value. little endian is not yet implemented. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21607 f5534014-38df-0310-8fa8-9805f1628bb7
2007-04-24"memcpy()" takes void *'s as arguments and returns a void *; haveguy1-2/+2
tvb_memcpy() be similar, to avoid unnecessarily alignment warnings. Do the same with "ep_tvb_memdup()". git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21554 f5534014-38df-0310-8fa8-9805f1628bb7
2007-04-23Add some GCC warnings to the standard set, and add some others to theguy1-1/+1
--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. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21526 f5534014-38df-0310-8fa8-9805f1628bb7
2006-06-19New rutine tvb_format_text_wsp() which will change "whiite space" characters ↵etxrab1-0/+6
to space before output. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@18519 f5534014-38df-0310-8fa8-9805f1628bb7
2006-05-21name changesahlberg1-3/+3
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@18197 f5534014-38df-0310-8fa8-9805f1628bb7
2006-03-10new FT_GUID handling - big/little endian supportedkukosa1-0/+7
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@17566 f5534014-38df-0310-8fa8-9805f1628bb7
2005-09-21fix/add doxygen commentsulfl1-2/+2
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@15941 f5534014-38df-0310-8fa8-9805f1628bb7
2005-09-11Replace tvb_memcpy() calls that extract IPv4 addresses into a guint32,guy1-0/+1
and that extract IPv6 addresses into a "struct e_in6_addr", with tvb_get_ipv4() and tvb_get_ipv6() calls - except for some that we remove, by using proto_tree_add_item(), rather than replacing. Have epan/tvbuff.h include epan/ipv6-utils.h, to define "struct e_in6_addr" (not necessary to declare the tvbuff routines, but including it there means "struct e_in6_addr" is guaranteed to be defined before those declarations, so we don't get compiler complaints if we define it *after* those declarations). git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@15758 f5534014-38df-0310-8fa8-9805f1628bb7
2005-09-10Add "tvb_get_ipv4()" and "tvb_get_ipv6()" addresses, to fetch IPv4 andguy1-0/+9
IPv6 addresses. Use "tvb_get_ipv4()" in the WINS Replication dissector, so that it gets the right answer on little-endian *AND* big-endian machines. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@15753 f5534014-38df-0310-8fa8-9805f1628bb7
2005-08-17snprintf -> g_snprintfulfl1-1/+1
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@15398 f5534014-38df-0310-8fa8-9805f1628bb7
2005-08-10add new function tvb_get_ephemeral_stringz()sahlberg1-0/+9
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@15273 f5534014-38df-0310-8fa8-9805f1628bb7
2005-08-10rename ep_tvb_fake_unicode() to tvb_get_ephemeral_faked_unicode() and update ↵sahlberg1-8/+11
the README file. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@15271 f5534014-38df-0310-8fa8-9805f1628bb7
2005-08-10rename ep_tvb_get_string() to tvb_get_ephemeral_string() asnd update the ↵sahlberg1-5/+11
documentation in README.developer git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@15270 f5534014-38df-0310-8fa8-9805f1628bb7
2005-07-28add an ep version of tvb_fake_unicode()sahlberg1-0/+6
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@15128 f5534014-38df-0310-8fa8-9805f1628bb7
2005-07-26new functions:lego1-0/+6
ep_tvb_memdup() ep_alloc0() ep_strsplit() add all of the ep_ allocators to libethereal.def git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@15100 f5534014-38df-0310-8fa8-9805f1628bb7
2005-07-24addsahlberg1-0/+5
ep_tvb_get_string that acts the same as tvb_get_string but the buffer returned need not be freed. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@15024 f5534014-38df-0310-8fa8-9805f1628bb7
2005-01-07Doxygen cleanups, from Mike Duigou.guy1-47/+58
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@12980 f5534014-38df-0310-8fa8-9805f1628bb7
2004-12-30Add a "tvb_bytes_to_str_punct()" routine, which wrapsguy1-0/+8
"bytes_to_str_punct()", and use it instead of extracting the bytes and formatting them by hand. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@12876 f5534014-38df-0310-8fa8-9805f1628bb7
2004-08-22Add "tvb_get_ntoh64()" and "tvb_get_letoh64()" routines to fetch 64-bitguy1-0/+2
integers. Make FT_INT64 and FT_UINT64 add numerical values, rather than byte-array values, to the protocol tree, and add routines to add specified 64-bit integer values to the protocol tree. Use those routines in the RSVP dissector. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@11796 f5534014-38df-0310-8fa8-9805f1628bb7
2004-07-18Set the svn:eol-style property on all text files to "native", so thatguy1-1/+1
they have LF at the end of the line on UN*X and CR/LF on Windows; hopefully this means that if a CR/LF version is checked in on Windows, the CRs will be stripped so that they show up only when checked out on Windows, not on UN*X. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@11400 f5534014-38df-0310-8fa8-9805f1628bb7
2004-05-05From Jerry Talkington:obiot1-1/+8
- Helper functions for uncompressing compressed tvbuffers. - Compressed content coding dissection in HTTP. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@10799 f5534014-38df-0310-8fa8-9805f1628bb7
2004-03-23Use "tvb_format_text()" to display strings, so we handle non-printableguy1-1/+7
characters. Some strings appear to be null-padded; add a "tvb_format_stringzpad()" routine to handle them, so that we don't show the padding characters as "\000". git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@10461 f5534014-38df-0310-8fa8-9805f1628bb7
2004-02-19Constify a bunch of stuff.guy1-2/+2
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@10106 f5534014-38df-0310-8fa8-9805f1628bb7
2004-02-01Make "tvb_strneql()" take a "gchar *" rather than a "guint8 *" as theguy1-2/+2
string argument. Add some casts to squelch compiler warnings. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@9951 f5534014-38df-0310-8fa8-9805f1628bb7
2004-02-01packet-dcerpc-afs4int.cjmayer1-2/+2
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@9938 f5534014-38df-0310-8fa8-9805f1628bb7
2004-01-23Change return type of tvb_format_text from guint8* to gchar*.jmayer1-2/+2
Remove now unnecessary casts in two files. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@9801 f5534014-38df-0310-8fa8-9805f1628bb7
2003-12-03performance updatesahlberg1-2/+5
replace tvb_raw_offset() which is essentially a simple assignment and which is called a lot with a macro. this makes my tethereal testcase 2-3% faster. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@9152 f5534014-38df-0310-8fa8-9805f1628bb7
2003-12-02Move the definition of the tvbuff_t structure and friends to tvbuff.hsahlberg1-6/+68
so that we can change tvb_get_ds_tvb() into a macro. This function was a single line assignment and was called a lot. This made tethereal ~2.5% faster in one testcase I use. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@9141 f5534014-38df-0310-8fa8-9805f1628bb7
2003-08-27Add a "contains" operator for byte-strings, strings, and tvbuffs (protocols).gram1-1/+8
The search uses a naive approach; more work is required to add a Boyer-Moore Search algorithm. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@8280 f5534014-38df-0310-8fa8-9805f1628bb7
2003-06-12Add new routines:guy1-1/+21
tvb_get_string() - takes a tvbuff, an offset, and a length as arguments, allocates a buffer big enough to hold a string with the specified number of bytes plus an added null terminator (i.e., length+1), copies the specified number of bytes from the tvbuff, at the specified offset, to that buffer and puts in a null terminator, and returns a pointer to that buffer (or throws an exception before allocating the buffer if that many bytes aren't available in the tvbuff); tvb_get_stringz() - takes a tvbuff, an offset, and a pointer to a "gint" as arguments, gets the size of the null-terminated string starting at the specified offset in the tvbuff (throwing an exception if the null terminator isn't found), allocates a buffer big enough to hold that string, copies the string to that buffer, and returns a pointer to that buffer and stores the length of the string (including the terminating null) in the variable pointed to by the "gint" pointer. Replace many pieces of code allocating a buffer and copying a string with calls to "tvb_get_string()" (for one thing, "tvb_get_string()" doesn't require you to remember that the argument to "tvb_get_nstringz0()" is the size of the buffer into which you're copying the string, which might be the length of the string to be copied *plus 1*). Don't use fixed-length buffers for null-terminated strings (even if the code that generates those packets has a #define to limit the length of the string). Use "tvb_get_stringz()", instead. In some cases where a value is fetched but is only used to pass an argument to a "proto_tree_add_XXX" routine, use "proto_tree_add_item()" instead. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@7859 f5534014-38df-0310-8fa8-9805f1628bb7
2003-05-19More tvb_get_nstringz0() fixes. Timo Sirainen pointed out that Badgerald1-1/+3
Things can happen if we pass a zero buffer length to tvb_get_nstringz0(). Throw an exception if this happens. In various dissectors make sure the tvb_get_nstringz0()'s buffer length is greater than zero. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@7688 f5534014-38df-0310-8fa8-9805f1628bb7