summaryrefslogtreecommitdiff
path: root/epan/value_string.c
diff options
context:
space:
mode:
authorKovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>2009-09-06 04:26:50 +0000
committerKovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>2009-09-06 04:26:50 +0000
commit6fe1060cd1a85736dc60de3790eb03ed7f693cd8 (patch)
treecc0942b4f55f153eea4d3d951068ee42953a8de9 /epan/value_string.c
parenta9e644f382bbe6d7524da3374f31217c9f395f91 (diff)
downloadwireshark-6fe1060cd1a85736dc60de3790eb03ed7f693cd8.tar.gz
Don't pass ep_alloc()'ed strings to col_set_str().
Fixes https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3984 svn path=/trunk/; revision=29726
Diffstat (limited to 'epan/value_string.c')
-rw-r--r--epan/value_string.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/epan/value_string.c b/epan/value_string.c
index e74ea6ceee..d75def715b 100644
--- a/epan/value_string.c
+++ b/epan/value_string.c
@@ -50,6 +50,22 @@ val_to_str(guint32 val, const value_string *vs, const char *fmt) {
}
/* Tries to match val against each element in the value_string array vs.
+ Returns the associated string ptr on a match.
+ Returns 'unknown_str', on failure. */
+const gchar*
+val_to_str_const(guint32 val, const value_string *vs, const char *unknown_str) {
+ const gchar *ret;
+
+ g_assert(unknown_str != NULL);
+
+ ret = match_strval(val, vs);
+ if (ret != NULL)
+ return ret;
+
+ return unknown_str;
+}
+
+/* Tries to match val against each element in the value_string array vs.
Returns the associated string ptr, and sets "*idx" to the index in
that table, on a match, and returns NULL, and sets "*idx" to -1,
on failure. */