From c258b6b0564f3ef211615f8f19d9067a9364bfe6 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Sun, 19 Mar 2017 20:57:43 +0100 Subject: [PATCH] ftypes: move get_value_uinteger into the union Delete get_value_uinteger from struct _ftype_t, make it part of the get_value union. Change-Id: I4a6c8341676c442e2bf8ae3b8f771b72161d133c Reviewed-on: https://code.wireshark.org/review/20640 Petri-Dish: Michael Mann 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 | 6 ++--- epan/ftypes/ftype-integer.c | 35 ++++++---------------------- 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 | 13 +++++++++-- 14 files changed, 21 insertions(+), 58 deletions(-) diff --git a/epan/ftypes/ftype-bytes.c b/epan/ftypes/ftype-bytes.c index f4363ac110..32c7e20654 100644 --- a/epan/ftypes/ftype-bytes.c +++ b/epan/ftypes/ftype-bytes.c @@ -741,7 +741,6 @@ ftype_register_bytes(void) { NULL }, /* union get_value */ value_get, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -773,7 +772,6 @@ ftype_register_bytes(void) { NULL }, /* union get_value */ value_get, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -805,7 +803,6 @@ ftype_register_bytes(void) { NULL }, /* union get_value */ value_get, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -837,7 +834,6 @@ ftype_register_bytes(void) { NULL }, /* union get_value */ value_get, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -869,7 +865,6 @@ ftype_register_bytes(void) { NULL }, /* union get_value */ value_get, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -901,7 +896,6 @@ ftype_register_bytes(void) { NULL }, /* union get_value */ value_get, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -933,7 +927,6 @@ ftype_register_bytes(void) { NULL }, /* union get_value */ value_get, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -965,7 +958,6 @@ ftype_register_bytes(void) { NULL }, /* union get_value */ value_get, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -997,7 +989,6 @@ ftype_register_bytes(void) { NULL }, /* union get_value */ value_get, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, diff --git a/epan/ftypes/ftype-double.c b/epan/ftypes/ftype-double.c index 1e994ab66c..175ecbc250 100644 --- a/epan/ftypes/ftype-double.c +++ b/epan/ftypes/ftype-double.c @@ -174,7 +174,6 @@ ftype_register_double(void) { .get_value_floating = value_get_floating }, /* union get_value */ NULL, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -206,7 +205,6 @@ ftype_register_double(void) { .get_value_floating = value_get_floating }, /* union get_value */ NULL, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, diff --git a/epan/ftypes/ftype-guid.c b/epan/ftypes/ftype-guid.c index ceb758f56e..73b318f931 100644 --- a/epan/ftypes/ftype-guid.c +++ b/epan/ftypes/ftype-guid.c @@ -139,7 +139,6 @@ ftype_register_guid(void) { NULL }, /* union get_value */ value_get, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, diff --git a/epan/ftypes/ftype-ieee-11073-float.c b/epan/ftypes/ftype-ieee-11073-float.c index 2cb7384a82..bbe5ece88c 100644 --- a/epan/ftypes/ftype-ieee-11073-float.c +++ b/epan/ftypes/ftype-ieee-11073-float.c @@ -1439,10 +1439,9 @@ Example: 114 is 0x0072 sfloat_ieee_11073_val_repr_len, /* len_string_repr */ { .set_value_uinteger = sfloat_ieee_11073_value_set }, /* union set_value */ - { NULL }, /* union get_value */ + { .get_value_uinteger = sfloat_ieee_11073_value_get }, /* union get_value */ NULL, /* get_value_ptr */ - sfloat_ieee_11073_value_get, /* get_value_uinteger */ sfloat_ieee_11073_cmp_eq, sfloat_ieee_11073_cmp_ne, @@ -1498,10 +1497,9 @@ Example: 36.4 is 0xFF00016C float_ieee_11073_val_repr_len, /* len_string_repr */ { .set_value_uinteger = float_ieee_11073_value_set }, /* union set_value */ - { NULL }, /* union get_value */ + { .get_value_uinteger = float_ieee_11073_value_get }, /* union get_value */ NULL, /* get_value_ptr */ - float_ieee_11073_value_get, /* get_value_uinteger */ float_ieee_11073_cmp_eq, float_ieee_11073_cmp_ne, diff --git a/epan/ftypes/ftype-integer.c b/epan/ftypes/ftype-integer.c index f2317d6001..e3e51765dd 100644 --- a/epan/ftypes/ftype-integer.c +++ b/epan/ftypes/ftype-integer.c @@ -1027,10 +1027,9 @@ ftype_register_integers(void) char_repr_len, /* len_string_repr */ { .set_value_uinteger = set_uinteger }, /* union set_value */ - { NULL }, /* union get_value */ + { .get_value_uinteger = get_uinteger }, /* union get_value */ NULL, /* get_value_ptr */ - get_uinteger, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -1058,10 +1057,9 @@ ftype_register_integers(void) uinteger_repr_len, /* len_string_repr */ { .set_value_uinteger = set_uinteger }, /* union set_value */ - { NULL }, /* union get_value */ + { .get_value_uinteger = get_uinteger }, /* union get_value */ NULL, /* get_value_ptr */ - get_uinteger, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -1089,10 +1087,9 @@ ftype_register_integers(void) uinteger_repr_len, /* len_string_repr */ { .set_value_uinteger = set_uinteger }, /* union set_value */ - { NULL }, /* union get_value */ + { .get_value_uinteger = get_uinteger }, /* union get_value */ NULL, /* get_value_ptr */ - get_uinteger, /* get_value_integer */ cmp_eq, cmp_ne, @@ -1120,10 +1117,9 @@ ftype_register_integers(void) uinteger_repr_len, /* len_string_repr */ { .set_value_uinteger = set_uinteger }, /* union set_value */ - { NULL }, /* union get_value */ + { .get_value_uinteger = get_uinteger }, /* union get_value */ NULL, /* get_value_ptr */ - get_uinteger, /* get_value_integer */ cmp_eq, cmp_ne, @@ -1151,10 +1147,9 @@ ftype_register_integers(void) uinteger_repr_len, /* len_string_repr */ { .set_value_uinteger = set_uinteger }, /* union set_value */ - { NULL }, /* union get_value */ + { .get_value_uinteger = get_uinteger }, /* union get_value */ NULL, /* get_value_ptr */ - get_uinteger, /* get_value_integer */ cmp_eq, cmp_ne, @@ -1185,7 +1180,6 @@ ftype_register_integers(void) { .get_value_uinteger64 = get_uinteger64 }, /* union get_value */ NULL, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq64, cmp_ne64, @@ -1216,7 +1210,6 @@ ftype_register_integers(void) { .get_value_uinteger64 = get_uinteger64 }, /* union get_value */ NULL, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq64, cmp_ne64, @@ -1247,7 +1240,6 @@ ftype_register_integers(void) { .get_value_uinteger64 = get_uinteger64 }, /* union get_value */ NULL, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq64, cmp_ne64, @@ -1278,7 +1270,6 @@ ftype_register_integers(void) { .get_value_uinteger64 = get_uinteger64 }, /* union get_value */ NULL, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq64, cmp_ne64, @@ -1309,7 +1300,6 @@ ftype_register_integers(void) { .get_value_sinteger = get_sinteger }, /* union get_value */ NULL, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -1340,7 +1330,6 @@ ftype_register_integers(void) { .get_value_sinteger = get_sinteger }, /* union get_value */ NULL, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -1371,7 +1360,6 @@ ftype_register_integers(void) { .get_value_sinteger = get_sinteger }, /* union get_value */ NULL, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -1402,7 +1390,6 @@ ftype_register_integers(void) { .get_value_sinteger = get_sinteger }, /* union get_value */ NULL, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -1433,7 +1420,6 @@ ftype_register_integers(void) { .get_value_sinteger64 = get_sinteger64 }, /* union get_value */ NULL, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq64, cmp_ne64, @@ -1464,7 +1450,6 @@ ftype_register_integers(void) { .get_value_sinteger64 = get_sinteger64 }, /* union get_value */ NULL, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq64, cmp_ne64, @@ -1495,7 +1480,6 @@ ftype_register_integers(void) { .get_value_sinteger64 = get_sinteger64 }, /* union get_value */ NULL, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq64, cmp_ne64, @@ -1526,7 +1510,6 @@ ftype_register_integers(void) { .get_value_sinteger64 = get_sinteger64 }, /* union get_value */ NULL, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq64, cmp_ne64, @@ -1557,7 +1540,6 @@ ftype_register_integers(void) { .get_value_uinteger64 = get_uinteger64 }, /* union get_value */ NULL, /* get_value_ptr */ - NULL, /* get_value_uinteger */ bool_eq, /* cmp_eq */ bool_ne, /* cmp_ne */ @@ -1586,10 +1568,9 @@ ftype_register_integers(void) ipxnet_repr_len, /* len_string_repr */ { .set_value_uinteger = set_uinteger }, /* union set_value */ - { NULL }, /* union get_value */ + { .get_value_uinteger = get_uinteger }, /* union get_value */ NULL, /* get_value_ptr */ - get_uinteger, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -1618,10 +1599,9 @@ ftype_register_integers(void) uinteger_repr_len, /* len_string_repr */ { .set_value_uinteger = set_uinteger }, /* union set_value */ - { NULL }, /* union get_value */ + { .get_value_uinteger = get_uinteger }, /* union get_value */ NULL, /* get_value_ptr */ - get_uinteger, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -1653,7 +1633,6 @@ ftype_register_integers(void) { .get_value_uinteger64 = get_uinteger64 }, /* union get_value */ NULL, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq64, cmp_ne64, diff --git a/epan/ftypes/ftype-ipv4.c b/epan/ftypes/ftype-ipv4.c index 3501188b42..9339cc913a 100644 --- a/epan/ftypes/ftype-ipv4.c +++ b/epan/ftypes/ftype-ipv4.c @@ -189,7 +189,6 @@ ftype_register_ipv4(void) { NULL }, /* union get_value */ value_get, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, diff --git a/epan/ftypes/ftype-ipv6.c b/epan/ftypes/ftype-ipv6.c index 3221eb17a0..27c8d815a9 100644 --- a/epan/ftypes/ftype-ipv6.c +++ b/epan/ftypes/ftype-ipv6.c @@ -239,7 +239,6 @@ ftype_register_ipv6(void) { NULL }, /* union get_value */ value_get, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, diff --git a/epan/ftypes/ftype-none.c b/epan/ftypes/ftype-none.c index c28ec0175f..abcfe7ef49 100644 --- a/epan/ftypes/ftype-none.c +++ b/epan/ftypes/ftype-none.c @@ -43,7 +43,6 @@ ftype_register_none(void) { NULL }, /* union get_value */ NULL, /* get_value_ptr */ - NULL, /* get_value_uinteger */ NULL, /* cmp_eq */ NULL, /* cmp_ne */ diff --git a/epan/ftypes/ftype-pcre.c b/epan/ftypes/ftype-pcre.c index c570cdc53d..534e770db7 100644 --- a/epan/ftypes/ftype-pcre.c +++ b/epan/ftypes/ftype-pcre.c @@ -167,7 +167,6 @@ ftype_register_pcre(void) { NULL }, /* union get_value */ gregex_fvalue_get, /* get_value_ptr */ - NULL, /* get_value_uinteger */ NULL, /* cmp_eq */ NULL, /* cmp_ne */ diff --git a/epan/ftypes/ftype-protocol.c b/epan/ftypes/ftype-protocol.c index 37c64823dd..6063e877e1 100644 --- a/epan/ftypes/ftype-protocol.c +++ b/epan/ftypes/ftype-protocol.c @@ -467,7 +467,6 @@ ftype_register_tvbuff(void) { NULL }, /* union get_value */ value_get, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, diff --git a/epan/ftypes/ftype-string.c b/epan/ftypes/ftype-string.c index 3b388aab4c..9db7434eac 100644 --- a/epan/ftypes/ftype-string.c +++ b/epan/ftypes/ftype-string.c @@ -244,7 +244,6 @@ ftype_register_string(void) { NULL }, /* union get_value */ value_get, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -275,7 +274,6 @@ ftype_register_string(void) { NULL }, /* union get_value */ value_get, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -306,7 +304,6 @@ ftype_register_string(void) { NULL }, /* union get_value */ value_get, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -337,7 +334,6 @@ ftype_register_string(void) { NULL }, /* union get_value */ value_get, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, diff --git a/epan/ftypes/ftype-time.c b/epan/ftypes/ftype-time.c index 0119f7a200..6aecadf03c 100644 --- a/epan/ftypes/ftype-time.c +++ b/epan/ftypes/ftype-time.c @@ -399,7 +399,6 @@ ftype_register_time(void) { NULL }, /* union get_value */ value_get, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, @@ -430,7 +429,6 @@ ftype_register_time(void) { NULL }, /* union get_value */ value_get, /* get_value_ptr */ - NULL, /* get_value_uinteger */ cmp_eq, cmp_ne, diff --git a/epan/ftypes/ftypes-int.h b/epan/ftypes/ftypes-int.h index 6abc79a1f6..a0b0dd4e49 100644 --- a/epan/ftypes/ftypes-int.h +++ b/epan/ftypes/ftypes-int.h @@ -105,6 +105,7 @@ struct _ftype_t { } set_value; union { + FvalueGetUnsignedIntegerFunc get_value_uinteger; FvalueGetSignedIntegerFunc get_value_sinteger; FvalueGetUnsignedInteger64Func get_value_uinteger64; FvalueGetSignedInteger64Func get_value_sinteger64; @@ -113,7 +114,6 @@ struct _ftype_t { /* could be union */ FvalueGetFunc get_value_ptr; - FvalueGetUnsignedIntegerFunc get_value_uinteger; FvalueCmp cmp_eq; FvalueCmp cmp_ne; diff --git a/epan/ftypes/ftypes.c b/epan/ftypes/ftypes.c index 8a0b4df387..fa575fee89 100644 --- a/epan/ftypes/ftypes.c +++ b/epan/ftypes/ftypes.c @@ -626,8 +626,17 @@ fvalue_get(fvalue_t *fv) guint32 fvalue_get_uinteger(fvalue_t *fv) { - g_assert(fv->ftype->get_value_uinteger); - return fv->ftype->get_value_uinteger(fv); + g_assert(fv->ftype->ftype == FT_IEEE_11073_SFLOAT || + fv->ftype->ftype == FT_IEEE_11073_FLOAT || + fv->ftype->ftype == FT_CHAR || + fv->ftype->ftype == FT_UINT8 || + fv->ftype->ftype == FT_UINT16 || + fv->ftype->ftype == FT_UINT24 || + fv->ftype->ftype == FT_UINT32 || + fv->ftype->ftype == FT_IPXNET || + fv->ftype->ftype == FT_FRAMENUM); + g_assert(fv->ftype->get_value.get_value_uinteger); + return fv->ftype->get_value.get_value_uinteger(fv); } gint32