aboutsummaryrefslogtreecommitdiffstats
path: root/epan/ftypes
diff options
context:
space:
mode:
authorMartin Mathieson <martin.r.mathieson@googlemail.com>2007-01-18 11:02:26 +0000
committerMartin Mathieson <martin.r.mathieson@googlemail.com>2007-01-18 11:02:26 +0000
commit997e5415f9009bd99c96338356c4b5358f04db49 (patch)
tree9889b4a8a5a373f924e1b02ccfcba07755c5d9f2 /epan/ftypes
parentbb978e75725b3a32918a50a9a9d584fddce1d59b (diff)
Add separate union entries to fvalue.value for signed and unsigned
32-bit numbers. Separate signed and unsigned accessors have been added and used where appropriate. Definitely not for 0.99.5. svn path=/trunk/; revision=20472
Diffstat (limited to 'epan/ftypes')
-rw-r--r--epan/ftypes/ftype-bytes.c30
-rw-r--r--epan/ftypes/ftype-double.c12
-rw-r--r--epan/ftypes/ftype-guid.c6
-rw-r--r--epan/ftypes/ftype-integer.c152
-rw-r--r--epan/ftypes/ftype-ipv4.c10
-rw-r--r--epan/ftypes/ftype-none.c6
-rw-r--r--epan/ftypes/ftype-pcre.c6
-rw-r--r--epan/ftypes/ftype-string.c18
-rw-r--r--epan/ftypes/ftype-time.c12
-rw-r--r--epan/ftypes/ftype-tvbuff.c6
-rw-r--r--epan/ftypes/ftypes.c28
-rw-r--r--epan/ftypes/ftypes.h25
12 files changed, 206 insertions, 105 deletions
diff --git a/epan/ftypes/ftype-bytes.c b/epan/ftypes/ftype-bytes.c
index 88c46b2e31..268da752d3 100644
--- a/epan/ftypes/ftype-bytes.c
+++ b/epan/ftypes/ftype-bytes.c
@@ -500,12 +500,14 @@ ftype_register_bytes(void)
bytes_repr_len, /* len_string_repr */
bytes_fvalue_set, /* set_value */
- NULL, /* set_value_integer */
+ NULL, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
value_get, /* get_value */
- NULL, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
@@ -536,12 +538,14 @@ ftype_register_bytes(void)
bytes_repr_len, /* len_string_repr */
bytes_fvalue_set, /* set_value */
- NULL, /* set_value_integer */
+ NULL, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
value_get, /* get_value */
- NULL, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
@@ -572,12 +576,14 @@ ftype_register_bytes(void)
bytes_repr_len, /* len_string_repr */
ether_fvalue_set, /* set_value */
- NULL, /* set_value_integer */
+ NULL, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
value_get, /* get_value */
- NULL, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
@@ -608,12 +614,14 @@ ftype_register_bytes(void)
ipv6_repr_len, /* len_string_repr */
ipv6_fvalue_set, /* set_value */
- NULL, /* set_value_integer */
+ NULL, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
value_get, /* get_value */
- NULL, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
@@ -644,12 +652,14 @@ ftype_register_bytes(void)
oid_repr_len, /* len_string_repr */
oid_fvalue_set, /* set_value */
- NULL, /* set_value_integer */
+ NULL, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
value_get, /* get_value */
- NULL, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
diff --git a/epan/ftypes/ftype-double.c b/epan/ftypes/ftype-double.c
index 0078beedee..ff2f4b77d5 100644
--- a/epan/ftypes/ftype-double.c
+++ b/epan/ftypes/ftype-double.c
@@ -169,12 +169,14 @@ ftype_register_double(void)
float_val_repr_len, /* len_string_repr */
NULL, /* set_value */
- NULL, /* set_value_integer */
+ NULL, /* set_value_uinteger */
+ NULL, /* set_value_snteger */
NULL, /* set_value_integer64 */
double_fvalue_set_floating, /* set_value_floating */
NULL, /* get_value */
- NULL, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
value_get_floating, /* get_value_floating */
@@ -205,12 +207,14 @@ ftype_register_double(void)
double_val_repr_len, /* len_string_repr */
NULL, /* set_value */
- NULL, /* set_value_integer */
+ NULL, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
double_fvalue_set_floating, /* set_value_floating */
NULL, /* get_value */
- NULL, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ NULL, /* get_value_snteger */
NULL, /* get_value_integer64 */
value_get_floating, /* get_value_floating */
diff --git a/epan/ftypes/ftype-guid.c b/epan/ftypes/ftype-guid.c
index 17256c248a..622da5f4d2 100644
--- a/epan/ftypes/ftype-guid.c
+++ b/epan/ftypes/ftype-guid.c
@@ -141,12 +141,14 @@ ftype_register_guid(void)
guid_repr_len, /* len_string_repr */
guid_fvalue_set, /* set_value */
- NULL, /* set_value_integer */
+ NULL, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
value_get, /* get_value */
- NULL, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
diff --git a/epan/ftypes/ftype-integer.c b/epan/ftypes/ftype-integer.c
index 8e354d4e67..d00f3097ed 100644
--- a/epan/ftypes/ftype-integer.c
+++ b/epan/ftypes/ftype-integer.c
@@ -48,21 +48,35 @@
static void
int_fvalue_new(fvalue_t *fv)
{
- fv->value.integer = 0;
+ fv->value.uinteger = 0;
}
static void
-set_integer(fvalue_t *fv, guint32 value)
+set_uinteger(fvalue_t *fv, guint32 value)
{
- fv->value.integer = value;
+ fv->value.uinteger = value;
}
+static void
+set_sinteger(fvalue_t *fv, gint32 value)
+{
+ fv->value.sinteger = value;
+}
+
+
static guint32
-get_integer(fvalue_t *fv)
+get_uinteger(fvalue_t *fv)
{
- return fv->value.integer;
+ return fv->value.uinteger;
}
+static gint32
+get_sinteger(fvalue_t *fv)
+{
+ return fv->value.sinteger;
+}
+
+
static gboolean
val_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
{
@@ -104,7 +118,7 @@ val_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFu
return FALSE;
}
- fv->value.integer = value;
+ fv->value.uinteger = value;
return TRUE;
}
@@ -117,7 +131,7 @@ integer_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
static void
integer_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
{
- sprintf(buf, "%d", fv->value.integer);
+ sprintf(buf, "%d", fv->value.sinteger);
}
static int
@@ -129,7 +143,7 @@ uinteger_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
static void
uinteger_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
{
- sprintf(buf, "%u", fv->value.integer);
+ sprintf(buf, "%u", fv->value.uinteger);
}
static gboolean
@@ -149,7 +163,7 @@ ipxnet_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, Lo
val = get_ipxnet_addr(s, &known);
if (known) {
- fv->value.integer = val;
+ fv->value.uinteger = val;
return TRUE;
}
@@ -166,73 +180,73 @@ ipxnet_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
static void
ipxnet_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
{
- sprintf(buf, "0x%08x", fv->value.integer);
+ sprintf(buf, "0x%08x", fv->value.uinteger);
}
static gboolean
cmp_eq(fvalue_t *a, fvalue_t *b)
{
- return a->value.integer == b->value.integer;
+ return a->value.uinteger == b->value.uinteger;
}
static gboolean
cmp_ne(fvalue_t *a, fvalue_t *b)
{
- return a->value.integer != b->value.integer;
+ return a->value.uinteger != b->value.uinteger;
}
static gboolean
u_cmp_gt(fvalue_t *a, fvalue_t *b)
{
- return (int)a->value.integer > (int)b->value.integer;
+ return a->value.uinteger > b->value.uinteger;
}
static gboolean
u_cmp_ge(fvalue_t *a, fvalue_t *b)
{
- return (int)a->value.integer >= (int)b->value.integer;
+ return a->value.uinteger >= b->value.uinteger;
}
static gboolean
u_cmp_lt(fvalue_t *a, fvalue_t *b)
{
- return (int)a->value.integer < (int)b->value.integer;
+ return a->value.uinteger < b->value.uinteger;
}
static gboolean
u_cmp_le(fvalue_t *a, fvalue_t *b)
{
- return (int)a->value.integer <= (int)b->value.integer;
+ return a->value.uinteger <= b->value.uinteger;
}
static gboolean
s_cmp_gt(fvalue_t *a, fvalue_t *b)
{
- return a->value.integer > b->value.integer;
+ return a->value.sinteger > b->value.sinteger;
}
static gboolean
s_cmp_ge(fvalue_t *a, fvalue_t *b)
{
- return a->value.integer >= b->value.integer;
+ return a->value.sinteger >= b->value.sinteger;
}
static gboolean
s_cmp_lt(fvalue_t *a, fvalue_t *b)
{
- return a->value.integer < b->value.integer;
+ return a->value.sinteger < b->value.sinteger;
}
static gboolean
s_cmp_le(fvalue_t *a, fvalue_t *b)
{
- return a->value.integer <= b->value.integer;
+ return a->value.sinteger <= b->value.sinteger;
}
static gboolean
cmp_bitwise_and(fvalue_t *a, fvalue_t *b)
{
- return ((a->value.integer & b->value.integer) != 0);
+ return ((a->value.uinteger & b->value.uinteger) != 0);
}
static void
@@ -393,7 +407,7 @@ cmp_bitwise_and64(fvalue_t *a, fvalue_t *b)
static void
boolean_fvalue_new(fvalue_t *fv)
{
- fv->value.integer = TRUE;
+ fv->value.uinteger = TRUE;
}
static int
@@ -405,15 +419,15 @@ boolean_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_)
static void
boolean_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
{
- sprintf(buf, "%s", fv->value.integer ? "1" : "0");
+ sprintf(buf, "%s", fv->value.uinteger ? "1" : "0");
}
/* Checks for equality with zero or non-zero */
static gboolean
bool_eq(fvalue_t *a, fvalue_t *b)
{
- if (a->value.integer) {
- if (b->value.integer) {
+ if (a->value.uinteger) {
+ if (b->value.uinteger) {
return TRUE;
}
else {
@@ -421,7 +435,7 @@ bool_eq(fvalue_t *a, fvalue_t *b)
}
}
else {
- if (b->value.integer) {
+ if (b->value.uinteger) {
return FALSE;
}
else {
@@ -456,12 +470,14 @@ ftype_register_integers(void)
uinteger_repr_len, /* len_string_repr */
NULL, /* set_value */
- set_integer, /* set_value_integer */
+ set_uinteger, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
NULL, /* get_value */
- get_integer, /* get_value_integer */
+ get_uinteger, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
@@ -491,12 +507,14 @@ ftype_register_integers(void)
uinteger_repr_len, /* len_string_repr */
NULL, /* set_value */
- set_integer, /* set_value_integer */
+ set_uinteger, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
NULL, /* get_value */
- get_integer, /* get_value_integer */
+ get_uinteger, /* get_value_integer */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
@@ -526,12 +544,14 @@ ftype_register_integers(void)
uinteger_repr_len, /* len_string_repr */
NULL, /* set_value */
- set_integer, /* set_value_integer */
+ set_uinteger, /* set_value_integer */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
NULL, /* get_value */
- get_integer, /* get_value_integer */
+ get_uinteger, /* get_value_integer */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
@@ -561,12 +581,14 @@ ftype_register_integers(void)
uinteger_repr_len, /* len_string_repr */
NULL, /* set_value */
- set_integer, /* set_value_integer */
+ set_uinteger, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
NULL, /* get_value */
- get_integer, /* get_value_integer */
+ get_uinteger, /* get_value_integer */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
@@ -596,13 +618,15 @@ ftype_register_integers(void)
uinteger64_repr_len, /* len_string_repr */
NULL, /* set_value */
- NULL, /* set_value_integer */
- set_integer64, /* set_value_integer64 */
+ NULL, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
+ set_integer64, /* set_value_integer64 */
NULL, /* set_value_floating */
NULL, /* get_value */
- NULL, /* get_value_integer */
- get_integer64, /* get_value_integer64 */
+ NULL, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
+ get_integer64, /* get_value_integer64 */
NULL, /* get_value_floating */
cmp_eq64,
@@ -631,12 +655,14 @@ ftype_register_integers(void)
integer_repr_len, /* len_string_repr */
NULL, /* set_value */
- set_integer, /* set_value_integer */
+ NULL, /* set_value_uinteger */
+ set_sinteger, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
NULL, /* get_value */
- get_integer, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ get_sinteger, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
@@ -666,12 +692,14 @@ ftype_register_integers(void)
integer_repr_len, /* len_string_repr */
NULL, /* set_value */
- set_integer, /* set_value_integer */
+ NULL, /* set_value_uinteger */
+ set_sinteger, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
NULL, /* get_value */
- get_integer, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ get_sinteger, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
@@ -701,12 +729,14 @@ ftype_register_integers(void)
integer_repr_len, /* len_string_repr */
NULL, /* set_value */
- set_integer, /* set_value_integer */
+ NULL, /* set_value_uinteger */
+ set_sinteger, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
NULL, /* get_value */
- get_integer, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ get_sinteger, /* get_value_integer */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
@@ -736,12 +766,14 @@ ftype_register_integers(void)
integer_repr_len, /* len_string_repr */
NULL, /* set_value */
- set_integer, /* set_value_integer */
+ NULL, /* set_value_uinteger */
+ set_sinteger, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
NULL, /* get_value */
- get_integer, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ get_sinteger, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
@@ -771,13 +803,15 @@ ftype_register_integers(void)
integer64_repr_len, /* len_string_repr */
NULL, /* set_value */
- NULL, /* set_value_integer */
- set_integer64, /* set_value_integer64 */
+ NULL, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
+ set_integer64, /* set_value_integer64 */
NULL, /* set_value_floating */
NULL, /* get_value */
- NULL, /* get_value_integer */
- get_integer64, /* get_value_integer64 */
+ NULL, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
+ get_integer64, /* get_value_integer64 */
NULL, /* get_value_floating */
cmp_eq64,
@@ -806,12 +840,14 @@ ftype_register_integers(void)
boolean_repr_len, /* len_string_repr */
NULL, /* set_value */
- set_integer, /* set_value_integer */
+ set_uinteger, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
NULL, /* get_value */
- get_integer, /* get_value_integer */
+ get_uinteger, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
@@ -842,12 +878,14 @@ ftype_register_integers(void)
ipxnet_repr_len, /* len_string_repr */
NULL, /* set_value */
- set_integer, /* set_value_integer */
+ set_uinteger, /* set_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
NULL, /* get_value */
- get_integer, /* get_value_integer */
+ get_uinteger, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
@@ -878,12 +916,14 @@ ftype_register_integers(void)
uinteger_repr_len, /* len_string_repr */
NULL, /* set_value */
- set_integer, /* set_value_integer */
+ set_uinteger, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
NULL, /* get_value */
- get_integer, /* get_value_integer */
+ get_uinteger, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
diff --git a/epan/ftypes/ftype-ipv4.c b/epan/ftypes/ftype-ipv4.c
index bb81272d5e..789f80676f 100644
--- a/epan/ftypes/ftype-ipv4.c
+++ b/epan/ftypes/ftype-ipv4.c
@@ -33,7 +33,7 @@
static void
-set_integer(fvalue_t *fv, guint32 value)
+set_uinteger(fvalue_t *fv, guint32 value)
{
ipv4_addr_set_net_order_addr(&(fv->value.ipv4), value);
ipv4_addr_set_netmask_bits(&(fv->value.ipv4), 32);
@@ -99,7 +99,7 @@ val_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFu
if (!nmask_fvalue) {
return FALSE;
}
- nmask_bits = fvalue_get_integer(nmask_fvalue);
+ nmask_bits = fvalue_get_uinteger(nmask_fvalue);
FVALUE_FREE(nmask_fvalue);
if (nmask_bits > 32) {
@@ -206,12 +206,14 @@ ftype_register_ipv4(void)
val_repr_len, /* len_string_repr */
NULL, /* set_value */
- set_integer, /* set_value_integer */
+ set_uinteger, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
value_get, /* get_value */
- NULL, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
diff --git a/epan/ftypes/ftype-none.c b/epan/ftypes/ftype-none.c
index 7d133f8462..1428a1ba53 100644
--- a/epan/ftypes/ftype-none.c
+++ b/epan/ftypes/ftype-none.c
@@ -44,12 +44,14 @@ ftype_register_none(void)
NULL, /* len_string_repr */
NULL, /* set_value */
- NULL, /* set_value_integer */
+ NULL, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
NULL, /* get_value */
- NULL, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
diff --git a/epan/ftypes/ftype-pcre.c b/epan/ftypes/ftype-pcre.c
index 4c4c4fdf90..d5f58aa681 100644
--- a/epan/ftypes/ftype-pcre.c
+++ b/epan/ftypes/ftype-pcre.c
@@ -232,12 +232,14 @@ ftype_register_pcre(void)
NULL, /* len_string_repr */
NULL, /* set_value */
- NULL, /* set_value_integer */
+ NULL, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
NULL, /* get_value */
- NULL, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
diff --git a/epan/ftypes/ftype-string.c b/epan/ftypes/ftype-string.c
index 57d13f8cde..fed7c2b017 100644
--- a/epan/ftypes/ftype-string.c
+++ b/epan/ftypes/ftype-string.c
@@ -309,12 +309,14 @@ ftype_register_string(void)
string_repr_len, /* len_string_repr */
string_fvalue_set, /* set_value */
- NULL, /* set_value_integer */
+ NULL, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
value_get, /* get_value */
- NULL, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
@@ -344,12 +346,14 @@ ftype_register_string(void)
string_repr_len, /* len_string_repr */
string_fvalue_set, /* set_value */
- NULL, /* set_value_integer */
+ NULL, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
value_get, /* get_value */
- NULL, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
@@ -379,12 +383,14 @@ ftype_register_string(void)
string_repr_len, /* len_string_repr */
string_fvalue_set, /* set_value */
- NULL, /* set_value_integer */
+ NULL, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
value_get, /* get_value */
- NULL, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
diff --git a/epan/ftypes/ftype-time.c b/epan/ftypes/ftype-time.c
index 38e43d0d6a..cd2663ac80 100644
--- a/epan/ftypes/ftype-time.c
+++ b/epan/ftypes/ftype-time.c
@@ -357,12 +357,14 @@ ftype_register_time(void)
absolute_val_repr_len, /* len_string_repr */
time_fvalue_set, /* set_value */
- NULL, /* set_value_integer */
+ NULL, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
value_get, /* get_value */
- NULL, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
@@ -392,12 +394,14 @@ ftype_register_time(void)
relative_val_repr_len, /* len_string_repr */
time_fvalue_set, /* set_value */
- NULL, /* set_value_integer */
+ NULL, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
value_get, /* get_value */
- NULL, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
diff --git a/epan/ftypes/ftype-tvbuff.c b/epan/ftypes/ftype-tvbuff.c
index c083ec3911..5df4e59378 100644
--- a/epan/ftypes/ftype-tvbuff.c
+++ b/epan/ftypes/ftype-tvbuff.c
@@ -272,12 +272,14 @@ ftype_register_tvbuff(void)
val_repr_len, /* len_string_repr */
value_set, /* set_value */
- NULL, /* set_value_integer */
+ NULL, /* set_value_uinteger */
+ NULL, /* set_value_sinteger */
NULL, /* set_value_integer64 */
NULL, /* set_value_floating */
value_get, /* get_value */
- NULL, /* get_value_integer */
+ NULL, /* get_value_uinteger */
+ NULL, /* get_value_sinteger */
NULL, /* get_value_integer64 */
NULL, /* get_value_floating */
diff --git a/epan/ftypes/ftypes.c b/epan/ftypes/ftypes.c
index a2305f97f9..2ff211a3ee 100644
--- a/epan/ftypes/ftypes.c
+++ b/epan/ftypes/ftypes.c
@@ -417,13 +417,21 @@ fvalue_set(fvalue_t *fv, gpointer value, gboolean already_copied)
}
void
-fvalue_set_integer(fvalue_t *fv, guint32 value)
+fvalue_set_uinteger(fvalue_t *fv, guint32 value)
{
- g_assert(fv->ftype->set_value_integer);
- fv->ftype->set_value_integer(fv, value);
+ g_assert(fv->ftype->set_value_uinteger);
+ fv->ftype->set_value_uinteger(fv, value);
}
void
+fvalue_set_sinteger(fvalue_t *fv, gint32 value)
+{
+ g_assert(fv->ftype->set_value_sinteger);
+ fv->ftype->set_value_sinteger(fv, value);
+}
+
+
+void
fvalue_set_integer64(fvalue_t *fv, guint64 value)
{
g_assert(fv->ftype->set_value_integer64);
@@ -446,12 +454,20 @@ fvalue_get(fvalue_t *fv)
}
guint32
-fvalue_get_integer(fvalue_t *fv)
+fvalue_get_uinteger(fvalue_t *fv)
{
- g_assert(fv->ftype->get_value_integer);
- return fv->ftype->get_value_integer(fv);
+ g_assert(fv->ftype->get_value_uinteger);
+ return fv->ftype->get_value_uinteger(fv);
}
+gint32
+fvalue_get_sinteger(fvalue_t *fv)
+{
+ g_assert(fv->ftype->get_value_sinteger);
+ return fv->ftype->get_value_sinteger(fv);
+}
+
+
guint64
fvalue_get_integer64(fvalue_t *fv)
{
diff --git a/epan/ftypes/ftypes.h b/epan/ftypes/ftypes.h
index 6e42655693..78c322555d 100644
--- a/epan/ftypes/ftypes.h
+++ b/epan/ftypes/ftypes.h
@@ -149,7 +149,8 @@ typedef struct _fvalue_t {
union {
/* Put a few basic types in here */
gpointer pointer;
- guint32 integer;
+ guint32 uinteger;
+ gint32 sinteger;
guint64 integer64;
gdouble floating;
gchar *string;
@@ -181,12 +182,14 @@ typedef void (*FvalueToStringRepr)(fvalue_t*, ftrepr_t, char*);
typedef int (*FvalueStringReprLen)(fvalue_t*, ftrepr_t);
typedef void (*FvalueSetFunc)(fvalue_t*, gpointer, gboolean);
-typedef void (*FvalueSetIntegerFunc)(fvalue_t*, guint32);
+typedef void (*FvalueSetUnsignedIntegerFunc)(fvalue_t*, guint32);
+typedef void (*FvalueSetSignedIntegerFunc)(fvalue_t*, gint32);
typedef void (*FvalueSetInteger64Func)(fvalue_t*, guint64);
typedef void (*FvalueSetFloatingFunc)(fvalue_t*, gdouble);
typedef gpointer (*FvalueGetFunc)(fvalue_t*);
-typedef guint32 (*FvalueGetIntegerFunc)(fvalue_t*);
+typedef guint32 (*FvalueGetUnsignedIntegerFunc)(fvalue_t*);
+typedef gint32 (*FvalueGetSignedIntegerFunc)(fvalue_t*);
typedef guint64 (*FvalueGetInteger64Func)(fvalue_t*);
typedef double (*FvalueGetFloatingFunc)(fvalue_t*);
@@ -209,13 +212,15 @@ struct _ftype_t {
/* could be union */
FvalueSetFunc set_value;
- FvalueSetIntegerFunc set_value_integer;
+ FvalueSetUnsignedIntegerFunc set_value_uinteger;
+ FvalueSetSignedIntegerFunc set_value_sinteger;
FvalueSetInteger64Func set_value_integer64;
FvalueSetFloatingFunc set_value_floating;
/* could be union */
FvalueGetFunc get_value;
- FvalueGetIntegerFunc get_value_integer;
+ FvalueGetUnsignedIntegerFunc get_value_uinteger;
+ FvalueGetSignedIntegerFunc get_value_sinteger;
FvalueGetInteger64Func get_value_integer64;
FvalueGetFloatingFunc get_value_floating;
@@ -299,7 +304,10 @@ void
fvalue_set(fvalue_t *fv, gpointer value, gboolean already_copied);
void
-fvalue_set_integer(fvalue_t *fv, guint32 value);
+fvalue_set_uinteger(fvalue_t *fv, guint32 value);
+
+void
+fvalue_set_sinteger(fvalue_t *fv, gint32 value);
void
fvalue_set_integer64(fvalue_t *fv, guint64 value);
@@ -311,7 +319,10 @@ gpointer
fvalue_get(fvalue_t *fv);
extern guint32
-fvalue_get_integer(fvalue_t *fv);
+fvalue_get_uinteger(fvalue_t *fv);
+
+extern gint32
+fvalue_get_sinteger(fvalue_t *fv);
guint64
fvalue_get_integer64(fvalue_t *fv);