aboutsummaryrefslogtreecommitdiffstats
path: root/epan/value_string.h
AgeCommit message (Collapse)AuthorFilesLines
2015-02-03Convert val_to_str_ext -> val_to_str_ext_wmem for calls that don't have ↵Michael Mann1-2/+2
valid packet scope (GUI). val_to_str_ext now officially uses wmem_packet_scope(). Removed const from val_to_str[_ext]_wmem return value since it's not really constant. Created utility functions in qt_ui_utils.h to help with the new memory management for its GUI. Change-Id: Idf2ce4a4ce78d628b2269ad23a3a48fbfc9c077c Reviewed-on: https://code.wireshark.org/review/6926 Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-02-02Create wmem versions of val_to_str and val_to_str_extMichael Mann1-1/+12
These will be used to replace cases where packet-scope isn't valid for val_to_str/val_to_str_ext calls Change-Id: Ie8a4c423a8608548c837c1ae7edde52c4d728340 Reviewed-on: https://code.wireshark.org/review/6880 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-07-27Make value_string_ext const-correct.Kevin Cox1-10/+10
There is still some const-incorrect usage of them but those can be ironed out after this change has been made. Change-Id: Iba0631c804bdab34d7c0232b49967130e3370488 Reviewed-on: https://code.wireshark.org/review/3199 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-07-06Add printf-format annotations, fix garbagePeter Wu1-5/+10
The WRETH dissector showed up some garbage in the column display. Upon further inspection, it turns out that the format string had a trailing percent sign which caused (unsigned)-1 to be returned by g_printf_string_upper_bound (in emem_strdup_vprintf). Then ep_alloc is called with (unsigned)-1 + 1 = 0 memory, no wonder that garbage shows up. ASAN could not even catch this error because EP is in charge of this. So, start adding G_GNUC_PRINTF annotations in each header that uses the "fmt" or "format" paramters (grepped + awk). This revealed some other errors. The NCP2222 dissector was missing a format string (not a security vuln though). Many dissectors used val_to_str with a constant (but empty) string, these have been replaced by val_to_str_const. ASN.1 dissectors were regenerated for this. Minor: the mate plugin used "%X" instead of "%p" for a pointer type. The ncp2222 dissector and wimax plugin gained modelines. Change-Id: I7f3f6a3136116f9b251719830a39a7b21646f622 Reviewed-on: https://code.wireshark.org/review/2881 Reviewed-by: Evan Huus <eapache@gmail.com>
2014-04-18Add a hack to _VS_ENUM_XXX to prevent gcc "warning: comma at end of ↵Bill Meier1-6/+7
enumerator list [-pedantic]" Change-Id: Icfab3cf8e152a2ee239c042e5bfbd9260d102035 Reviewed-on: https://code.wireshark.org/review/1194 Reviewed-by: Bill Meier <wmeier@newsguy.com> Tested-by: Bill Meier <wmeier@newsguy.com>
2014-04-17Try to fix bug 10000.Guy Harris1-5/+12
This involves duplicating macros, but at least it 1) doesn't have empty arguments to macros, which are apparently considered "undefined" by C90 and C++98 and 2) doesn't involve "extern" applied to a definition rather than a declaration, which breaks building on some platforms (and which I think is also not legal C). Change-Id: I7eb98963a6d2e1bc9f869ebce3d7ba9228b6c9e4 Reviewed-on: https://code.wireshark.org/review/1188 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-04-17Fix a [pedantic] gcc warning: "empty macro arguments are undefined in ISO ↵Bill Meier1-2/+2
C90 and ISO C++98" Change-Id: I09f05bb1af1da20eb1a0675ed56fbe7e6b769d68 Reviewed-on: https://code.wireshark.org/review/1180 Reviewed-by: Bill Meier <wmeier@newsguy.com> Tested-by: Bill Meier <wmeier@newsguy.com>
2014-03-04Remove all $Id$ from top of fileAlexis La Goutte1-2/+0
(Using sed : sed -i '/^ \* \$Id\$/,+1 d') Fix manually some typo (in export_object_dicom.c and crc16-plain.c) Change-Id: I4c1ae68d1c4afeace8cb195b53c715cf9e1227a8 Reviewed-on: https://code.wireshark.org/review/497 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-02-25Remove trailing whitespaceBill Meier1-1/+1
Change-Id: I8116f63ff88687c8db3fd6e8e23b22ab2f759af0 Reviewed-on: https://code.wireshark.org/review/385 Reviewed-by: Bill Meier <wmeier@newsguy.com> Tested-by: Bill Meier <wmeier@newsguy.com>
2013-12-13Value_string.h: Minor changes to comment textBill Meier1-16/+16
value_string.c: value_string_ext_validate() always fails on Windows when called from a different DLL (i.e. a plugin). So: Add #ifndef _WIN32 around the offending code. svn path=/trunk/; revision=54047
2013-12-13Add dialogs and graphs to analyse SCTP behavior similar to the GTK version.Irene Rüngeler1-1/+8
svn path=/trunk/; revision=54026
2013-12-08Make VALUE_STRING_EXT_INIT use G_N_ELEMENTS macro instead of array_length.Jakub Zawadzki1-1/+1
array_length() requires including packet.h svn path=/trunk/; revision=53851
2013-11-21Add some "helper" macros to:Bill Meier1-0/+66
Provide the capability to define a list of value_strings once and then to expand the list as an enum and/or as a value_string array. svn path=/trunk/; revision=53487
2013-11-21Do some constification;Bill Meier1-37/+55
Create/use value_string_ext_free(); Display certain numbers also as hex in the "forced to fall back to linear search: ..." value-string warning msg Add editor-modelines to some files; Do some whitespace changes. svn path=/trunk/; revision=53484
2013-09-29Replace some val_to_str calls with the equivalent val_to_str_const calls (andEvan Huus1-0/+4
implement rval_to_str_const to do this). The format-strings didn't have any parameter specifiers in them, so they were clearly never used (or they would have blown up) but still a bug. This is one of the first steps towards converting val_to_str and friends to wmem. I'm honestly not sure what the best approach is for the API in this case: the vast majority of usage is within dissectors, so just hard-coding packet scope (the way they currently hard-code ep_ scope) doesn't look terrible, but there are *some* uses in taps and other places that will need to be converted to something else if we go that route. Adding a wmem_pool parameter just for the uncommon case seems a bit like overkill, though perhaps it is the right thing to do. svn path=/trunk/; revision=52264
2013-07-26Add 64-bit value strings and the appropriate tooling (including yet anotherEvan Huus1-2/+25
overloaded use of the DISPLAY field). Thanks to Jakub for pointing out I'd done this wrong the first time (months ago in r49357). Fixes severity display for collectd protocol, originally filed at: https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8472 svn path=/trunk/; revision=50935
2013-03-29Implement str_to_val, opposite of val_to_str for value_strings.Evan Huus1-0/+10
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8467 svn path=/trunk/; revision=48645
2013-03-29Remove decode_enumerated_bitfield and decode_enumerated_bitfield_shifted.Evan Huus1-12/+7
Effectively inline the only remain call (and replace a static buffer with ep memory). Much of the NFS dissector needs to be converted to use named fields at which point this code can go away, but that's a much bigger job. Also, add modelines to packet-nfs.c and mark some internal value_string functions as WS_DLL_LOCAL. svn path=/trunk/; revision=48635
2013-03-29Rename value string (and similar) functions to use a consistent pattern. ThisEvan Huus1-126/+75
was done using textual search+replace, not anything syntax-aware, so presumably it got most comments as well (except where there were typos). Use a consistent coding style, and make proper use of the WS_DLL_* defines. Group the functions appropriately in the header. I ended up getting rid of most of the explanatory comments since many of them duplicated what was in the value_string.c file (and were out of sync with the recent updates I made to those in r48633). Presumably most of the comments should be in the .h file not the .c file, but there's enough churn ahead that it's not worth fixing yet. Part of https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8467 svn path=/trunk/; revision=48634
2013-03-01Export libwireshark symbols using WS_DLL_PUBLIC defineBalint Reczey1-17/+20
Also remove old WS_VAR_IMPORT define and related Makefile magic everywhere in the project. svn path=/trunk/; revision=47992
2012-12-26Fix a bunch of warnings.Guy Harris1-1/+1
Cast away some implicit 64-bit-to-32-bit conversion errors due to use of sizeof. Cast away some implicit 64-bit-to-32-bit conversion errors due to use of strtol() and strtoul(). Change some data types to avoid those implicit conversion warnings. When assigning a constant to a float, make sure the constant isn't a double, by appending "f" to the constant. Constify a bunch of variables, parameters, and return values to eliminate warnings due to strings being given const qualifiers. Cast away those warnings in some cases where an API we don't control forces us to do so. Enable a bunch of additional warnings by default. Note why at least some of the other warnings aren't enabled. randpkt.c and text2pcap.c are used to build programs, so they don't need to be in EXTRA_DIST. If the user specifies --enable-warnings-as-errors, add -Werror *even if the user specified --enable-extra-gcc-flags; assume they know what they're doing and are willing to have the compile fail due to the extra GCC warnings being treated as errors. svn path=/trunk/; revision=46748
2012-06-28Update Free Software Foundation address.Jakub Zawadzki1-1/+1
(COPYING will be updated in next commit) svn path=/trunk/; revision=43536
2011-05-13(Trivial) fix a spelling error.Bill Meier1-1/+1
svn path=/trunk/; revision=37126
2011-04-28Change value_string_ext->_vs_match to return value_string struct (instead of ↵Jakub Zawadzki1-6/+6
strptr), Now index can be easily calculated so remove idx pointer from all match functions. Just in case change names if someone is using wireshark internals. svn path=/trunk/; revision=36930
2011-01-12Fix the fuzz failure in ↵Jeff Morriss1-2/+2
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5574 : The first time a value_string_ext() is accessed, _match_strval_ext_init() is used before the real match function is called. This function was not expanded to take an idx parameter (in rev 35451). It compiled only because the function: a) previously did not match _value_string_match_t b) and the difference was being cast away when assigning _match_strval to it (So the fact that the index parameter was not added was also ignored.) To fix the problem, give _match_strval_ext_init() and index parameter and use it instead of a dummy variable when calling the real match function. That way the first call to match_strval_ext_idx() will return an actual (initialized) index. To prevent the problem in the future, make the vse argument to _match_strval_ext_init() const *and then cast away the constness* so the function can modify the vse. svn path=/trunk/; revision=35508
2011-01-10Introduce match_strval_idx_ext()Anders Broman1-1/+8
svn path=/trunk/; revision=35451
2010-11-14'tshark -G values' - Validate (somewhat) value_string_ext before use to ↵Bill Meier1-0/+3
prevent a crash. svn path=/trunk/; revision=34869
2010-11-12Enhance 'tshark -G values': Add info about extended value strings (including ↵Bill Meier1-0/+5
acess method). svn path=/trunk/; revision=34854
2010-10-14Rework "extended value strings":Bill Meier1-16/+71
- Allow direct access when a range of values begins with a value other than 0; - Provide value_string_ext_new() for creating extended value strings at runtime; - Do access to value_string_ext members via a macro (all but value_string.c); - Update documentation. svn path=/trunk/; revision=34514
2010-04-27Correct two comments.Jaap Keuter1-2/+2
svn path=/trunk/; revision=32578
2010-04-27From Jakub Zawadzki:Anders Broman1-13/+6
- use function pointers instead of switch. - initalize ->match_type during first use of match_str() func. svn path=/trunk/; revision=32576
2010-04-27From Jakub Zawadzki:Anders Broman1-0/+22
Itroduce value_string_ext for faster value matching in value_strings. svn path=/trunk/; revision=32574
2010-04-03 From Yaniv Kaul: constify parametersBill Meier1-11/+11
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. svn path=/trunk/; revision=32365
2010-04-02Revert SVN #32360 until Windows compilation errors corrected.Bill Meier1-11/+11
svn path=/trunk/; revision=32361
2010-04-02From Yaniv Kaul: constify parametersBill Meier1-11/+11
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4422 svn path=/trunk/; revision=32360
2009-09-06Don't pass ep_alloc()'ed strings to col_set_str().Kovarththanan Rajaratnam1-0/+5
Fixes https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3984 svn path=/trunk/; revision=29726
2009-05-26From Didier Gautheron via bug 3052:Gerald Combs1-0/+21
Add: - FIX 4.0 to 4.4 fields, auto generated with XSLT stylesheets applied on http://www.quickfixengine.org/ xml files (not included quickfixengine code is BSD but xml files have no copyright). - value_string functions for string keys, added to value_string.c. - FIX desegmentation, it doesn't work well with malformed FIX PDU. svn path=/trunk/; revision=28478
2006-12-07From Francesco Fondelli:Stephen Fisher1-0/+24
I defined a range_string struct. It's like value_string but stores range <-> string pairs. Moreover I wrote rval_to_str(), match_strrval_idx() match_strrval() which are behaving exactly as val_to_str(), match_strval_idx() and match_strval(). svn path=/trunk/; revision=20061
2006-05-21name changeRonnie Sahlberg1-2/+2
svn path=/trunk/; revision=18197
2005-06-26Get rid of the private "my_match_strval()" routine in many dissectors;Guy Harris1-6/+10
add a "match_strval_idx()" routine that does the same thing, and have "match_strval()" call it. Make those routines, and "val_to_str()", return a "const" pointer. Update dissectors as necessary to squelch compiler warnings produced by that. Use "val_to_str()" rather than using "match_strval()" and then, if the result is null, substituting a specific string. Clean up some other "match_strval()"/"val_to_str()" usages. Add a null pointer check in the NDPS dissector's "attribute_value()" routine, as it's not clear that "global_attribute_name" won't be null at that point. Make some global variables in the AFS4INT dissector local. Make some routines not used outside the module they're in static. Make some tables "static const". Clean up white space. Fix Gerald's address in some files. svn path=/trunk/; revision=14786
2005-06-16Get rid of several megabytes worth of warnings aboutJörg Mayer1-1/+1
"discards qualifier from assignment". svn path=/trunk/; revision=14663
2004-07-18Set the svn:eol-style property on all text files to "native", so thatGuy Harris1-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. svn path=/trunk/; revision=11400
2004-05-07did some code cleanup, added some comments from value_string.cUlf Lamping1-5/+16
svn path=/trunk/; revision=10813
2004-02-22From Peter J. Creath: add a convenience macro for value_string tablesGuy Harris1-1/+4
where the values all have #defines or enum values and the corresponding strings are just the #define or enum value names. svn path=/trunk/; revision=10187
2003-12-01From Tomas Kukosa: add "decode_enumerated_bitfield_shifted()", which isGuy Harris1-1/+3
like "decode_enumerated_bitfield()" but handles value_string tables containing values as they appear in the bitfield rather than as they appear in the item containing the bitfield. svn path=/trunk/; revision=9134
2002-08-28Removed trailing whitespaces from .h and .c files using theJörg Mayer1-4/+4
winapi_cleanup tool written by Patrik Stridvall for the wine project. svn path=/trunk/; revision=6116
2001-11-04Declare routines exported to plugins through the plugin API table asGuy Harris1-5/+5
extern, so that "plugin_api_defs.h" works on platforms where you have to use the plugin API table. svn path=/trunk/; revision=4151
2001-04-01Moved the value_string structures and function from packet.{c,h} intoEd Warnicke1-0/+44
a separate value_string.{c,h}. svn path=/trunk/; revision=3221