aboutsummaryrefslogtreecommitdiffstats
path: root/epan/ftypes
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2015-01-03 21:56:16 -0500
committerMichael Mann <mmann78@netscape.net>2015-01-04 16:32:03 +0000
commit553da374461efb87436dbbed7d319d252d4fe2e6 (patch)
tree1f581449dc0a022f8feb4f2088aec6fb47fd023f /epan/ftypes
parent2085bbec9d0e4661af77a6e9530cffd5df15ecc8 (diff)
Create BASE_DOT, BASE_DASH, and BASE_SEMICOLON types for the FT_BYTES field type.
These "bases" will put a ".", "-", or ":" respectively between hexidecimal bytes in the field in packet view and display filter. FT_BYTES with BASE_NONE will have no separator in the packet view, but continue to have the ':' as a separator in the display filter. Converted the "string" hf_ entries that used tvb_fc_to_str as a string to use proto_tree_add_item with FT_BYTES/BASE_DOT type. Converted applicable tvb_bytes_to_ep_str_punct() calls to use the new BASE values. Change-Id: I2442185bb314d04a3ff2ba57883652ecd738b5f9 Reviewed-on: https://code.wireshark.org/review/6098 Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/ftypes')
-rw-r--r--epan/ftypes/ftype-bytes.c41
-rw-r--r--epan/ftypes/ftype-double.c8
-rw-r--r--epan/ftypes/ftype-guid.c4
-rw-r--r--epan/ftypes/ftype-integer.c28
-rw-r--r--epan/ftypes/ftype-ipv4.c4
-rw-r--r--epan/ftypes/ftype-ipv6.c4
-rw-r--r--epan/ftypes/ftype-pcre.c4
-rw-r--r--epan/ftypes/ftype-string.c4
-rw-r--r--epan/ftypes/ftype-time.c8
-rw-r--r--epan/ftypes/ftype-tvbuff.c4
-rw-r--r--epan/ftypes/ftypes-int.h4
-rw-r--r--epan/ftypes/ftypes.c10
-rw-r--r--epan/ftypes/ftypes.h7
13 files changed, 74 insertions, 56 deletions
diff --git a/epan/ftypes/ftype-bytes.c b/epan/ftypes/ftype-bytes.c
index 5c2a094156..22e677e56f 100644
--- a/epan/ftypes/ftype-bytes.c
+++ b/epan/ftypes/ftype-bytes.c
@@ -56,15 +56,15 @@ bytes_fvalue_set(fvalue_t *fv, GByteArray *value)
}
static int
-bytes_repr_len(fvalue_t *fv, ftrepr_t rtype _U_)
+bytes_repr_len(fvalue_t *fv, ftrepr_t rtype _U_, int field_display _U_)
{
if (fv->value.bytes->len == 0) {
/* Empty array of bytes, so the representation
* is an empty string. */
return 0;
} else {
- /* 3 bytes for each byte of the byte "NN:" minus 1 byte
- * as there's no trailing ":". */
+ /* 3 bytes for each byte of the byte "NN<separator character>" minus 1 byte
+ * as there's no trailing "<separator character>". */
return fv->value.bytes->len * 3 - 1;
}
}
@@ -89,13 +89,13 @@ bytes_repr_len(fvalue_t *fv, ftrepr_t rtype _U_)
#define OID_REPR_LEN(fv) (1 + REL_OID_REPR_LEN(fv))
static int
-oid_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
+oid_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_, int field_display _U_)
{
return OID_REPR_LEN(fv);
}
static void
-oid_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
+oid_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, int field_display _U_, char *buf)
{
const char* oid_str = oid_encoded2string(fv->value.bytes->data,fv->value.bytes->len);
/*
@@ -109,13 +109,13 @@ oid_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
}
static int
-rel_oid_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
+rel_oid_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_, int field_display _U_)
{
return REL_OID_REPR_LEN(fv);
}
static void
-rel_oid_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
+rel_oid_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, int field_display _U_, char *buf)
{
const char* oid_str = rel_oid_encoded2string(fv->value.bytes->data,fv->value.bytes->len);
/*
@@ -130,17 +130,18 @@ rel_oid_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
}
static void
-system_id_to_repr(fvalue_t *fv, ftrepr_t rtype, char *buf)
+system_id_to_repr(fvalue_t *fv, ftrepr_t rtype, int field_display, char *buf)
{
- print_system_id_buf(fv->value.bytes->data,fv->value.bytes->len, buf, bytes_repr_len(fv, rtype));
+ print_system_id_buf(fv->value.bytes->data,fv->value.bytes->len, buf, bytes_repr_len(fv, rtype, field_display));
}
static void
-bytes_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
+bytes_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, int field_display, char *buf)
{
guint8 *c;
char *write_cursor;
unsigned int i;
+ char separator;
c = fv->value.bytes->data;
write_cursor = buf;
@@ -151,7 +152,21 @@ bytes_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
write_cursor += 2;
}
else {
- sprintf(write_cursor, ":%02x", *c++);
+ switch(field_display)
+ {
+ case BASE_DOT:
+ separator = '.';
+ break;
+ case BASE_DASH:
+ separator = '-';
+ break;
+ case BASE_SEMICOLON:
+ case BASE_NONE:
+ default:
+ separator = ':';
+ break;
+ }
+ sprintf(write_cursor, "%c%02x", separator, *c++);
write_cursor += 3;
}
}
@@ -1038,7 +1053,7 @@ ftype_register_bytes(void)
slice,
};
- static ftype_t fcwwc_type = {
+ static ftype_t fcwwn_type = {
FT_FCWWN, /* ftype */
"FT_FCWWN", /* name */
"Fibre Channel WWN", /* pretty_name */
@@ -1089,5 +1104,5 @@ ftype_register_bytes(void)
ftype_register(FT_OID, &oid_type);
ftype_register(FT_REL_OID, &rel_oid_type);
ftype_register(FT_SYSTEM_ID, &system_id_type);
- ftype_register(FT_FCWWN, &fcwwc_type);
+ ftype_register(FT_FCWWN, &fcwwn_type);
}
diff --git a/epan/ftypes/ftype-double.c b/epan/ftypes/ftype-double.c
index 2583d9223e..ef1991815e 100644
--- a/epan/ftypes/ftype-double.c
+++ b/epan/ftypes/ftype-double.c
@@ -76,7 +76,7 @@ val_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_,
}
static int
-float_val_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
+float_val_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_, int field_display _U_)
{
/*
* 1 character for a sign.
@@ -89,13 +89,13 @@ float_val_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
}
static void
-float_val_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
+float_val_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, int field_display _U_, char *buf)
{
sprintf(buf, "%." G_STRINGIFY(FLT_DIG) "g", fv->value.floating);
}
static int
-double_val_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
+double_val_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_, int field_display _U_)
{
/*
* 1 character for a sign.
@@ -107,7 +107,7 @@ double_val_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
}
static void
-double_val_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
+double_val_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, int field_display _U_, char *buf)
{
sprintf(buf, "%." G_STRINGIFY(DBL_DIG) "g", fv->value.floating);
}
diff --git a/epan/ftypes/ftype-guid.c b/epan/ftypes/ftype-guid.c
index c7e94d5ef0..290738ae20 100644
--- a/epan/ftypes/ftype-guid.c
+++ b/epan/ftypes/ftype-guid.c
@@ -98,13 +98,13 @@ guid_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_
}
static int
-guid_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
+guid_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_, int field_display _U_)
{
return GUID_STR_LEN;
}
static void
-guid_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
+guid_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, int field_display _U_, char *buf)
{
guid_to_str_buf(&fv->value.guid, buf, GUID_STR_LEN);
}
diff --git a/epan/ftypes/ftype-integer.c b/epan/ftypes/ftype-integer.c
index 592a670a6a..2368b526b5 100644
--- a/epan/ftypes/ftype-integer.c
+++ b/epan/ftypes/ftype-integer.c
@@ -224,13 +224,13 @@ sint8_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value, L
}
static int
-integer_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
+integer_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_, int field_display _U_)
{
return 11; /* enough for 12^31-1, in decimal */
}
static void
-integer_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
+integer_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, int field_display _U_, char *buf)
{
guint32 val;
@@ -244,13 +244,13 @@ integer_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
}
static int
-uinteger_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
+uinteger_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_, int field_display _U_)
{
return 10; /* enough for 2^32-1, in decimal */
}
static void
-uinteger_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
+uinteger_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, int field_display _U_, char *buf)
{
guint32_to_str_buf(fv->value.uinteger, buf, 11);
}
@@ -281,13 +281,13 @@ ipxnet_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _
}
static int
-ipxnet_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
+ipxnet_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_, int field_display _U_)
{
return 2+8; /* 0xXXXXXXXX */
}
static void
-ipxnet_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
+ipxnet_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, int field_display _U_, char *buf)
{
sprintf(buf, "0x%08x", fv->value.uinteger);
}
@@ -470,25 +470,25 @@ sint64_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _
}
static int
-integer64_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
+integer64_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_, int field_display _U_)
{
return 20; /* enough for -2^63-1, in decimal */
}
static void
-integer64_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
+integer64_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, int field_display _U_, char *buf)
{
sprintf(buf, "%" G_GINT64_MODIFIER "d", fv->value.integer64);
}
static int
-uinteger64_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
+uinteger64_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_, int field_display _U_)
{
return 20; /* enough for 2^64-1, in decimal */
}
static void
-uinteger64_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
+uinteger64_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, int field_display _U_, char *buf)
{
sprintf(buf, "%" G_GINT64_MODIFIER "u", fv->value.integer64);
}
@@ -568,13 +568,13 @@ boolean_fvalue_new(fvalue_t *fv)
}
static int
-boolean_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
+boolean_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_, int field_display _U_)
{
return 1;
}
static void
-boolean_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
+boolean_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, int field_display _U_, char *buf)
{
*buf++ = (fv->value.uinteger) ? '1' : '0';
*buf = '\0';
@@ -628,13 +628,13 @@ eui64_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U
}
static int
-eui64_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
+eui64_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_, int field_display _U_)
{
return 8*3-1; /* XX:XX:XX:XX:XX:XX:XX:XX */
}
static void
-eui64_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
+eui64_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, int field_display _U_, char *buf)
{
guint8 *p_eui64 = (guint8 *)ep_alloc(8);
diff --git a/epan/ftypes/ftype-ipv4.c b/epan/ftypes/ftype-ipv4.c
index db5ef14cfa..1c10017263 100644
--- a/epan/ftypes/ftype-ipv4.c
+++ b/epan/ftypes/ftype-ipv4.c
@@ -99,7 +99,7 @@ val_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_,
}
static int
-val_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
+val_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_, int field_display _U_)
{
/*
* 15 characters for "XXX.XXX.XXX.XXX".
@@ -108,7 +108,7 @@ val_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
}
static void
-val_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
+val_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, int field_display _U_, char *buf)
{
ipv4_addr_str_buf(&fv->value.ipv4, buf);
}
diff --git a/epan/ftypes/ftype-ipv6.c b/epan/ftypes/ftype-ipv6.c
index cf4ed1205e..04e47c920f 100644
--- a/epan/ftypes/ftype-ipv6.c
+++ b/epan/ftypes/ftype-ipv6.c
@@ -77,7 +77,7 @@ ipv6_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_
}
static int
-ipv6_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
+ipv6_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_, int field_display _U_)
{
/*
* 39 characters for "XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX".
@@ -86,7 +86,7 @@ ipv6_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
}
static void
-ipv6_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
+ipv6_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, int field_display _U_, char *buf)
{
ip6_to_str_buf(&(fv->value.ipv6.addr), buf);
}
diff --git a/epan/ftypes/ftype-pcre.c b/epan/ftypes/ftype-pcre.c
index 947aff3047..f324370527 100644
--- a/epan/ftypes/ftype-pcre.c
+++ b/epan/ftypes/ftype-pcre.c
@@ -116,14 +116,14 @@ val_from_unparsed(fvalue_t *fv, const char *pattern, gboolean allow_partial_valu
}
static int
-gregex_repr_len(fvalue_t *fv, ftrepr_t rtype)
+gregex_repr_len(fvalue_t *fv, ftrepr_t rtype, int field_display _U_)
{
g_assert(rtype == FTREPR_DFILTER);
return (int)strlen(g_regex_get_pattern(fv->value.re));
}
static void
-gregex_to_repr(fvalue_t *fv, ftrepr_t rtype, char *buf)
+gregex_to_repr(fvalue_t *fv, ftrepr_t rtype, int field_display _U_, char *buf)
{
g_assert(rtype == FTREPR_DFILTER);
strcpy(buf, g_regex_get_pattern(fv->value.re));
diff --git a/epan/ftypes/ftype-string.c b/epan/ftypes/ftype-string.c
index 6c95e70ebd..ff3b9c3c6c 100644
--- a/epan/ftypes/ftype-string.c
+++ b/epan/ftypes/ftype-string.c
@@ -53,7 +53,7 @@ string_fvalue_set_string(fvalue_t *fv, const gchar *value)
}
static int
-string_repr_len(fvalue_t *fv, ftrepr_t rtype)
+string_repr_len(fvalue_t *fv, ftrepr_t rtype, int field_display _U_)
{
switch (rtype) {
case FTREPR_DISPLAY:
@@ -67,7 +67,7 @@ string_repr_len(fvalue_t *fv, ftrepr_t rtype)
}
static void
-string_to_repr(fvalue_t *fv, ftrepr_t rtype, char *buf)
+string_to_repr(fvalue_t *fv, ftrepr_t rtype, int field_display _U_, char *buf)
{
switch (rtype) {
case FTREPR_DISPLAY:
diff --git a/epan/ftypes/ftype-time.c b/epan/ftypes/ftype-time.c
index 841e8b4e62..09ae23f869 100644
--- a/epan/ftypes/ftype-time.c
+++ b/epan/ftypes/ftype-time.c
@@ -323,7 +323,7 @@ value_get(fvalue_t *fv)
}
static int
-absolute_val_repr_len(fvalue_t *fv, ftrepr_t rtype)
+absolute_val_repr_len(fvalue_t *fv, ftrepr_t rtype, int field_display _U_)
{
gchar *rep;
int ret;
@@ -339,7 +339,7 @@ absolute_val_repr_len(fvalue_t *fv, ftrepr_t rtype)
}
static void
-absolute_val_to_repr(fvalue_t *fv, ftrepr_t rtype, char *buf)
+absolute_val_to_repr(fvalue_t *fv, ftrepr_t rtype, int field_display _U_, char *buf)
{
gchar *rep = abs_time_to_str(NULL, &fv->value.time, ABSOLUTE_TIME_LOCAL,
rtype == FTREPR_DISPLAY);
@@ -352,7 +352,7 @@ absolute_val_to_repr(fvalue_t *fv, ftrepr_t rtype, char *buf)
}
static int
-relative_val_repr_len(fvalue_t *fv, ftrepr_t rtype _U_)
+relative_val_repr_len(fvalue_t *fv, ftrepr_t rtype _U_, int field_display _U_)
{
gchar *rep;
int ret;
@@ -365,7 +365,7 @@ relative_val_repr_len(fvalue_t *fv, ftrepr_t rtype _U_)
}
static void
-relative_val_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
+relative_val_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, int field_display _U_, char *buf)
{
gchar *rep;
rep = rel_time_to_secs_str(NULL, &fv->value.time);
diff --git a/epan/ftypes/ftype-tvbuff.c b/epan/ftypes/ftype-tvbuff.c
index dec4d69672..714f545dfe 100644
--- a/epan/ftypes/ftype-tvbuff.c
+++ b/epan/ftypes/ftype-tvbuff.c
@@ -118,7 +118,7 @@ val_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_,
}
static int
-val_repr_len(fvalue_t *fv, ftrepr_t rtype)
+val_repr_len(fvalue_t *fv, ftrepr_t rtype, int field_display _U_)
{
volatile guint length = 0;
@@ -138,7 +138,7 @@ val_repr_len(fvalue_t *fv, ftrepr_t rtype)
}
static void
-val_to_repr(fvalue_t *fv, ftrepr_t rtype, char * volatile buf)
+val_to_repr(fvalue_t *fv, ftrepr_t rtype, int field_display _U_, char * volatile buf)
{
guint length;
const guint8 *c;
diff --git a/epan/ftypes/ftypes-int.h b/epan/ftypes/ftypes-int.h
index e78917f036..c2aaf11427 100644
--- a/epan/ftypes/ftypes-int.h
+++ b/epan/ftypes/ftypes-int.h
@@ -50,8 +50,8 @@ typedef void (*FvalueFreeFunc)(fvalue_t*);
typedef gboolean (*FvalueFromUnparsed)(fvalue_t*, const char*, gboolean, LogFunc);
typedef gboolean (*FvalueFromString)(fvalue_t*, const char*, LogFunc);
-typedef void (*FvalueToStringRepr)(fvalue_t*, ftrepr_t, char*volatile);
-typedef int (*FvalueStringReprLen)(fvalue_t*, ftrepr_t);
+typedef void (*FvalueToStringRepr)(fvalue_t*, ftrepr_t, int field_display, char*volatile);
+typedef int (*FvalueStringReprLen)(fvalue_t*, ftrepr_t, int field_display);
typedef void (*FvalueSetByteArrayFunc)(fvalue_t*, GByteArray *);
typedef void (*FvalueSetBytesFunc)(fvalue_t*, const guint8 *);
diff --git a/epan/ftypes/ftypes.c b/epan/ftypes/ftypes.c
index 49ef2ce19a..a06594392c 100644
--- a/epan/ftypes/ftypes.c
+++ b/epan/ftypes/ftypes.c
@@ -348,14 +348,14 @@ fvalue_length(fvalue_t *fv)
}
int
-fvalue_string_repr_len(fvalue_t *fv, ftrepr_t rtype)
+fvalue_string_repr_len(fvalue_t *fv, ftrepr_t rtype, int field_display)
{
g_assert(fv->ftype->len_string_repr);
- return fv->ftype->len_string_repr(fv, rtype);
+ return fv->ftype->len_string_repr(fv, rtype, field_display);
}
char *
-fvalue_to_string_repr(fvalue_t *fv, ftrepr_t rtype, char *buf)
+fvalue_to_string_repr(fvalue_t *fv, ftrepr_t rtype, int field_display, char *buf)
{
if (fv->ftype->val_to_string_repr == NULL) {
/* no value-to-string-representation function, so the value cannot be represented */
@@ -363,14 +363,14 @@ fvalue_to_string_repr(fvalue_t *fv, ftrepr_t rtype, char *buf)
}
if (!buf) {
int len;
- if ((len = fvalue_string_repr_len(fv, rtype)) >= 0) {
+ if ((len = fvalue_string_repr_len(fv, rtype, field_display)) >= 0) {
buf = (char *)g_malloc0(len + 1);
} else {
/* the value cannot be represented in the given representation type (rtype) */
return NULL;
}
}
- fv->ftype->val_to_string_repr(fv, rtype, buf);
+ fv->ftype->val_to_string_repr(fv, rtype, field_display, buf);
return buf;
}
diff --git a/epan/ftypes/ftypes.h b/epan/ftypes/ftypes.h
index 46a25fbb1b..6e969043ca 100644
--- a/epan/ftypes/ftypes.h
+++ b/epan/ftypes/ftypes.h
@@ -226,7 +226,7 @@ fvalue_from_string(ftenum_t ftype, const char *s, LogFunc logfunc);
* The length DOES NOT include the terminating NUL. */
WS_DLL_PUBLIC
int
-fvalue_string_repr_len(fvalue_t *fv, ftrepr_t rtype);
+fvalue_string_repr_len(fvalue_t *fv, ftrepr_t rtype, int field_display);
/* Creates the string representation of the field value.
* If given non-NULL 'buf', the string is written at the memory
@@ -237,9 +237,12 @@ fvalue_string_repr_len(fvalue_t *fv, ftrepr_t rtype);
* memory. if 'buf' was non-NULL, then the return value will be
* 'buf'.
*
+ * field_display parameter should be a BASE_ value (enum field_display_e)
+ * BASE_NONE should be used if field information isn't available.
+ *
* Returns NULL if the string cannot be represented in the given rtype.*/
WS_DLL_PUBLIC char *
-fvalue_to_string_repr(fvalue_t *fv, ftrepr_t rtype, char *buf);
+fvalue_to_string_repr(fvalue_t *fv, ftrepr_t rtype, int field_display, char *buf);
WS_DLL_PUBLIC ftenum_t
fvalue_type_ftenum(fvalue_t *fv);