From b11d4e7ed00cf6bc877cb9a407dc0eadb10866c1 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 13 Mar 2017 18:46:48 +0100 Subject: [PATCH] ftypes: move set_value_uinteger64 into the union Delete set_value_uinteger64 from struct _ftype_t, make it part of the set_value union. Change-Id: I12407b7336282daa60fe6e0e742d65e205dc84fd Reviewed-on: https://code.wireshark.org/review/20539 Reviewed-by: Martin Kaiser Petri-Dish: Martin Kaiser Tested-by: Petri Dish Buildbot Reviewed-by: Michael Mann --- epan/ftypes/ftype-bytes.c | 9 -------- epan/ftypes/ftype-double.c | 2 -- epan/ftypes/ftype-guid.c | 1 - epan/ftypes/ftype-ieee-11073-float.c | 2 -- epan/ftypes/ftype-integer.c | 33 +++++----------------------- epan/ftypes/ftype-ipv4.c | 1 - epan/ftypes/ftype-ipv6.c | 1 - epan/ftypes/ftype-none.c | 1 - epan/ftypes/ftype-pcre.c | 1 - epan/ftypes/ftype-protocol.c | 1 - epan/ftypes/ftype-string.c | 4 ---- epan/ftypes/ftype-time.c | 2 -- epan/ftypes/ftypes-int.h | 2 +- epan/ftypes/ftypes.c | 10 +++++++-- 14 files changed, 15 insertions(+), 55 deletions(-) diff --git a/epan/ftypes/ftype-bytes.c b/epan/ftypes/ftype-bytes.c index eacf3bacd0..0d10c95652 100644 --- a/epan/ftypes/ftype-bytes.c +++ b/epan/ftypes/ftype-bytes.c @@ -739,7 +739,6 @@ ftype_register_bytes(void) { .set_value_byte_array = bytes_fvalue_set }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -778,7 +777,6 @@ ftype_register_bytes(void) { .set_value_byte_array = bytes_fvalue_set }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -817,7 +815,6 @@ ftype_register_bytes(void) { .set_value_bytes = ax25_fvalue_set }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -856,7 +853,6 @@ ftype_register_bytes(void) { .set_value_bytes = vines_fvalue_set }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -895,7 +891,6 @@ ftype_register_bytes(void) { .set_value_bytes = ether_fvalue_set }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -934,7 +929,6 @@ ftype_register_bytes(void) { .set_value_byte_array = oid_fvalue_set }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -973,7 +967,6 @@ ftype_register_bytes(void) { .set_value_byte_array = oid_fvalue_set }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1012,7 +1005,6 @@ ftype_register_bytes(void) { .set_value_byte_array = system_id_fvalue_set }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1051,7 +1043,6 @@ ftype_register_bytes(void) { .set_value_bytes = fcwwn_fvalue_set }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ diff --git a/epan/ftypes/ftype-double.c b/epan/ftypes/ftype-double.c index 18a324f5ca..2fdb2a38a9 100644 --- a/epan/ftypes/ftype-double.c +++ b/epan/ftypes/ftype-double.c @@ -172,7 +172,6 @@ ftype_register_double(void) { NULL }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ double_fvalue_set_floating, /* set_value_floating */ @@ -211,7 +210,6 @@ ftype_register_double(void) { NULL }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ double_fvalue_set_floating, /* set_value_floating */ diff --git a/epan/ftypes/ftype-guid.c b/epan/ftypes/ftype-guid.c index a3c835b56f..e2bbe708e5 100644 --- a/epan/ftypes/ftype-guid.c +++ b/epan/ftypes/ftype-guid.c @@ -137,7 +137,6 @@ ftype_register_guid(void) { .set_value_guid = guid_fvalue_set_guid }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ diff --git a/epan/ftypes/ftype-ieee-11073-float.c b/epan/ftypes/ftype-ieee-11073-float.c index ee863c115d..ef10e53e6a 100644 --- a/epan/ftypes/ftype-ieee-11073-float.c +++ b/epan/ftypes/ftype-ieee-11073-float.c @@ -1440,7 +1440,6 @@ Example: 114 is 0x0072 { .set_value_uinteger = sfloat_ieee_11073_value_set }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1506,7 +1505,6 @@ Example: 36.4 is 0xFF00016C { .set_value_uinteger = float_ieee_11073_value_set }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ diff --git a/epan/ftypes/ftype-integer.c b/epan/ftypes/ftype-integer.c index f1d4015f94..4bf64eb611 100644 --- a/epan/ftypes/ftype-integer.c +++ b/epan/ftypes/ftype-integer.c @@ -1028,7 +1028,6 @@ ftype_register_integers(void) { .set_value_uinteger = set_uinteger }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1066,7 +1065,6 @@ ftype_register_integers(void) { .set_value_uinteger = set_uinteger }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1104,7 +1102,6 @@ ftype_register_integers(void) { .set_value_uinteger = set_uinteger }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1142,7 +1139,6 @@ ftype_register_integers(void) { .set_value_uinteger = set_uinteger }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1180,7 +1176,6 @@ ftype_register_integers(void) { .set_value_uinteger = set_uinteger }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1216,9 +1211,8 @@ ftype_register_integers(void) uinteger64_to_repr, /* val_to_string_repr */ uinteger64_repr_len, /* len_string_repr */ - { NULL }, /* union set_value */ + { .set_value_uinteger64 = set_uinteger64 }, /* union set_value */ - set_uinteger64, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1254,9 +1248,8 @@ ftype_register_integers(void) uinteger64_to_repr, /* val_to_string_repr */ uinteger64_repr_len, /* len_string_repr */ - { NULL }, /* union set_value */ + { .set_value_uinteger64 = set_uinteger64 }, /* union set_value */ - set_uinteger64, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1292,9 +1285,8 @@ ftype_register_integers(void) uinteger64_to_repr, /* val_to_string_repr */ uinteger64_repr_len, /* len_string_repr */ - { NULL }, /* union set_value */ + { .set_value_uinteger64 = set_uinteger64 }, /* union set_value */ - set_uinteger64, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1330,9 +1322,8 @@ ftype_register_integers(void) uinteger64_to_repr, /* val_to_string_repr */ uinteger64_repr_len, /* len_string_repr */ - { NULL }, /* union set_value */ + { .set_value_uinteger64 = set_uinteger64 }, /* union set_value */ - set_uinteger64, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1370,7 +1361,6 @@ ftype_register_integers(void) { .set_value_sinteger = set_sinteger }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1408,7 +1398,6 @@ ftype_register_integers(void) { .set_value_sinteger = set_sinteger }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1446,7 +1435,6 @@ ftype_register_integers(void) { .set_value_sinteger = set_sinteger }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1484,7 +1472,6 @@ ftype_register_integers(void) { .set_value_sinteger = set_sinteger }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1522,7 +1509,6 @@ ftype_register_integers(void) { NULL }, /* union set_value */ - NULL, /* set_value_uinteger64 */ set_sinteger64, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1560,7 +1546,6 @@ ftype_register_integers(void) { NULL }, /* union set_value */ - NULL, /* set_value_uinteger64 */ set_sinteger64, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1598,7 +1583,6 @@ ftype_register_integers(void) { NULL }, /* union set_value */ - NULL, /* set_value_uinteger64 */ set_sinteger64, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1636,7 +1620,6 @@ ftype_register_integers(void) { NULL }, /* union set_value */ - NULL, /* set_value_uinteger64 */ set_sinteger64, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1672,9 +1655,8 @@ ftype_register_integers(void) boolean_to_repr, /* val_to_string_repr */ boolean_repr_len, /* len_string_repr */ - { NULL }, /* union set_value */ + { .set_value_uinteger64 = set_uinteger64 }, /* union set_value */ - set_uinteger64, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1713,7 +1695,6 @@ ftype_register_integers(void) { .set_value_uinteger = set_uinteger }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1752,7 +1733,6 @@ ftype_register_integers(void) { .set_value_uinteger = set_uinteger }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -1789,9 +1769,8 @@ ftype_register_integers(void) eui64_to_repr, /* val_to_string_repr */ eui64_repr_len, /* len_string_repr */ - { NULL }, /* union set_value */ + { .set_value_uinteger64 = set_uinteger64 }, /* union set_value */ - set_uinteger64, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ diff --git a/epan/ftypes/ftype-ipv4.c b/epan/ftypes/ftype-ipv4.c index 596b3a58a4..f3ef2c72c0 100644 --- a/epan/ftypes/ftype-ipv4.c +++ b/epan/ftypes/ftype-ipv4.c @@ -187,7 +187,6 @@ ftype_register_ipv4(void) { .set_value_uinteger = set_uinteger }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ diff --git a/epan/ftypes/ftype-ipv6.c b/epan/ftypes/ftype-ipv6.c index 2c0da9ee79..57c41dd984 100644 --- a/epan/ftypes/ftype-ipv6.c +++ b/epan/ftypes/ftype-ipv6.c @@ -237,7 +237,6 @@ ftype_register_ipv6(void) { .set_value_bytes = ipv6_fvalue_set }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ diff --git a/epan/ftypes/ftype-none.c b/epan/ftypes/ftype-none.c index 007fe4eb1e..2846b11bbb 100644 --- a/epan/ftypes/ftype-none.c +++ b/epan/ftypes/ftype-none.c @@ -41,7 +41,6 @@ ftype_register_none(void) { NULL }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ diff --git a/epan/ftypes/ftype-pcre.c b/epan/ftypes/ftype-pcre.c index d0a52406db..63db531fac 100644 --- a/epan/ftypes/ftype-pcre.c +++ b/epan/ftypes/ftype-pcre.c @@ -165,7 +165,6 @@ ftype_register_pcre(void) { .set_value_string = gregex_fvalue_set }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ diff --git a/epan/ftypes/ftype-protocol.c b/epan/ftypes/ftype-protocol.c index 843bb7f6aa..8ae96c6c44 100644 --- a/epan/ftypes/ftype-protocol.c +++ b/epan/ftypes/ftype-protocol.c @@ -465,7 +465,6 @@ ftype_register_tvbuff(void) { .set_value_protocol = value_set }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ diff --git a/epan/ftypes/ftype-string.c b/epan/ftypes/ftype-string.c index 631275fd42..a6dcf9f01c 100644 --- a/epan/ftypes/ftype-string.c +++ b/epan/ftypes/ftype-string.c @@ -242,7 +242,6 @@ ftype_register_string(void) { .set_value_string = string_fvalue_set_string }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -280,7 +279,6 @@ ftype_register_string(void) { .set_value_string = string_fvalue_set_string }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -318,7 +316,6 @@ ftype_register_string(void) { .set_value_string = string_fvalue_set_string }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -356,7 +353,6 @@ ftype_register_string(void) { .set_value_string = string_fvalue_set_string }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ diff --git a/epan/ftypes/ftype-time.c b/epan/ftypes/ftype-time.c index 9bb8ed1cd3..4849d64573 100644 --- a/epan/ftypes/ftype-time.c +++ b/epan/ftypes/ftype-time.c @@ -397,7 +397,6 @@ ftype_register_time(void) { .set_value_time = time_fvalue_set }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ @@ -435,7 +434,6 @@ ftype_register_time(void) { .set_value_time = time_fvalue_set }, /* union set_value */ - NULL, /* set_value_uinteger64 */ NULL, /* set_value_sinteger64 */ NULL, /* set_value_floating */ diff --git a/epan/ftypes/ftypes-int.h b/epan/ftypes/ftypes-int.h index 961926f6fa..712f615e9d 100644 --- a/epan/ftypes/ftypes-int.h +++ b/epan/ftypes/ftypes-int.h @@ -99,10 +99,10 @@ struct _ftype_t { FvalueSetProtocolFunc set_value_protocol; FvalueSetUnsignedIntegerFunc set_value_uinteger; FvalueSetSignedIntegerFunc set_value_sinteger; + FvalueSetUnsignedInteger64Func set_value_uinteger64; } set_value; /* could be union */ - FvalueSetUnsignedInteger64Func set_value_uinteger64; FvalueSetSignedInteger64Func set_value_sinteger64; FvalueSetFloatingFunc set_value_floating; diff --git a/epan/ftypes/ftypes.c b/epan/ftypes/ftypes.c index eff5ff7e22..3adafa4b46 100644 --- a/epan/ftypes/ftypes.c +++ b/epan/ftypes/ftypes.c @@ -585,8 +585,14 @@ fvalue_set_sinteger(fvalue_t *fv, gint32 value) void fvalue_set_uinteger64(fvalue_t *fv, guint64 value) { - g_assert(fv->ftype->set_value_uinteger64); - fv->ftype->set_value_uinteger64(fv, value); + g_assert(fv->ftype->ftype == FT_UINT40 || + fv->ftype->ftype == FT_UINT48 || + fv->ftype->ftype == FT_UINT56 || + fv->ftype->ftype == FT_UINT64 || + fv->ftype->ftype == FT_BOOLEAN || + fv->ftype->ftype == FT_EUI64); + g_assert(fv->ftype->set_value.set_value_uinteger64); + fv->ftype->set_value.set_value_uinteger64(fv, value); } void