ftypes: move get_value_ptr into the union

Delete get_value_ptr from struct _ftype_t, make it
part of the get_value union.

Change-Id: I947331069662a7043bd838e622d286629cc7be9a
Reviewed-on: https://code.wireshark.org/review/20647
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
Petri-Dish: Martin Kaiser <wireshark@kaiser.cx>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
This commit is contained in:
Martin Kaiser 2017-03-19 21:16:03 +01:00 committed by Michael Mann
parent 45b8a1e7ea
commit 2d0ae39bd6
14 changed files with 40 additions and 117 deletions

View File

@ -738,9 +738,7 @@ ftype_register_bytes(void)
bytes_repr_len, /* len_string_repr */
{ .set_value_byte_array = bytes_fvalue_set }, /* union set_value */
{ NULL }, /* union get_value */
value_get, /* get_value_ptr */
{ .get_value_ptr = value_get }, /* union get_value */
cmp_eq,
cmp_ne,
@ -769,9 +767,7 @@ ftype_register_bytes(void)
bytes_repr_len, /* len_string_repr */
{ .set_value_byte_array = bytes_fvalue_set }, /* union set_value */
{ NULL }, /* union get_value */
value_get, /* get_value_ptr */
{ .get_value_ptr = value_get }, /* union get_value */
cmp_eq,
cmp_ne,
@ -800,9 +796,7 @@ ftype_register_bytes(void)
bytes_repr_len, /* len_string_repr */
{ .set_value_bytes = ax25_fvalue_set }, /* union set_value */
{ NULL }, /* union get_value */
value_get, /* get_value_ptr */
{ .get_value_ptr = value_get }, /* union get_value */
cmp_eq,
cmp_ne,
@ -831,9 +825,7 @@ ftype_register_bytes(void)
bytes_repr_len, /* len_string_repr */
{ .set_value_bytes = vines_fvalue_set }, /* union set_value */
{ NULL }, /* union get_value */
value_get, /* get_value_ptr */
{ .get_value_ptr = value_get }, /* union get_value */
cmp_eq,
cmp_ne,
@ -862,9 +854,7 @@ ftype_register_bytes(void)
bytes_repr_len, /* len_string_repr */
{ .set_value_bytes = ether_fvalue_set }, /* union set_value */
{ NULL }, /* union get_value */
value_get, /* get_value_ptr */
{ .get_value_ptr = value_get }, /* union get_value */
cmp_eq,
cmp_ne,
@ -893,9 +883,7 @@ ftype_register_bytes(void)
oid_repr_len, /* len_string_repr */
{ .set_value_byte_array = oid_fvalue_set }, /* union set_value */
{ NULL }, /* union get_value */
value_get, /* get_value_ptr */
{ .get_value_ptr = value_get }, /* union get_value */
cmp_eq,
cmp_ne,
@ -924,9 +912,7 @@ ftype_register_bytes(void)
rel_oid_repr_len, /* len_string_repr */
{ .set_value_byte_array = oid_fvalue_set }, /* union set_value */
{ NULL }, /* union get_value */
value_get, /* get_value_ptr */
{ .get_value_ptr = value_get }, /* union get_value */
cmp_eq,
cmp_ne,
@ -955,9 +941,7 @@ ftype_register_bytes(void)
bytes_repr_len, /* len_string_repr */
{ .set_value_byte_array = system_id_fvalue_set }, /* union set_value */
{ NULL }, /* union get_value */
value_get, /* get_value_ptr */
{ .get_value_ptr = value_get }, /* union get_value */
cmp_eq,
cmp_ne,
@ -986,9 +970,7 @@ ftype_register_bytes(void)
bytes_repr_len, /* len_string_repr */
{ .set_value_bytes = fcwwn_fvalue_set }, /* union set_value */
{ NULL }, /* union get_value */
value_get, /* get_value_ptr */
{ .get_value_ptr = value_get }, /* union get_value */
cmp_eq,
cmp_ne,

View File

@ -173,8 +173,6 @@ ftype_register_double(void)
{ .set_value_floating = double_fvalue_set_floating }, /* union set_value */
{ .get_value_floating = value_get_floating }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq,
cmp_ne,
cmp_gt,
@ -204,8 +202,6 @@ ftype_register_double(void)
{ .set_value_floating = double_fvalue_set_floating }, /* union set_value */
{ .get_value_floating = value_get_floating }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq,
cmp_ne,
cmp_gt,

View File

@ -136,9 +136,7 @@ ftype_register_guid(void)
guid_repr_len, /* len_string_repr */
{ .set_value_guid = guid_fvalue_set_guid }, /* union set_value */
{ NULL }, /* union get_value */
value_get, /* get_value_ptr */
{ .get_value_ptr = value_get }, /* union get_value */
cmp_eq,
cmp_ne,

View File

@ -1441,8 +1441,6 @@ Example: 114 is 0x0072
{ .set_value_uinteger = sfloat_ieee_11073_value_set }, /* union set_value */
{ .get_value_uinteger = sfloat_ieee_11073_value_get }, /* union get_value */
NULL, /* get_value_ptr */
sfloat_ieee_11073_cmp_eq,
sfloat_ieee_11073_cmp_ne,
sfloat_ieee_11073_cmp_gt,
@ -1499,8 +1497,6 @@ Example: 36.4 is 0xFF00016C
{ .set_value_uinteger = float_ieee_11073_value_set }, /* union set_value */
{ .get_value_uinteger = float_ieee_11073_value_get }, /* union get_value */
NULL, /* get_value_ptr */
float_ieee_11073_cmp_eq,
float_ieee_11073_cmp_ne,
float_ieee_11073_cmp_gt,

View File

@ -1029,8 +1029,6 @@ ftype_register_integers(void)
{ .set_value_uinteger = set_uinteger }, /* union set_value */
{ .get_value_uinteger = get_uinteger }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq,
cmp_ne,
u_cmp_gt,
@ -1059,8 +1057,6 @@ ftype_register_integers(void)
{ .set_value_uinteger = set_uinteger }, /* union set_value */
{ .get_value_uinteger = get_uinteger }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq,
cmp_ne,
u_cmp_gt,
@ -1089,8 +1085,6 @@ ftype_register_integers(void)
{ .set_value_uinteger = set_uinteger }, /* union set_value */
{ .get_value_uinteger = get_uinteger }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq,
cmp_ne,
u_cmp_gt,
@ -1119,8 +1113,6 @@ ftype_register_integers(void)
{ .set_value_uinteger = set_uinteger }, /* union set_value */
{ .get_value_uinteger = get_uinteger }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq,
cmp_ne,
u_cmp_gt,
@ -1149,8 +1141,6 @@ ftype_register_integers(void)
{ .set_value_uinteger = set_uinteger }, /* union set_value */
{ .get_value_uinteger = get_uinteger }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq,
cmp_ne,
u_cmp_gt,
@ -1179,8 +1169,6 @@ ftype_register_integers(void)
{ .set_value_uinteger64 = set_uinteger64 }, /* union set_value */
{ .get_value_uinteger64 = get_uinteger64 }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq64,
cmp_ne64,
u_cmp_gt64,
@ -1209,8 +1197,6 @@ ftype_register_integers(void)
{ .set_value_uinteger64 = set_uinteger64 }, /* union set_value */
{ .get_value_uinteger64 = get_uinteger64 }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq64,
cmp_ne64,
u_cmp_gt64,
@ -1239,8 +1225,6 @@ ftype_register_integers(void)
{ .set_value_uinteger64 = set_uinteger64 }, /* union set_value */
{ .get_value_uinteger64 = get_uinteger64 }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq64,
cmp_ne64,
u_cmp_gt64,
@ -1269,8 +1253,6 @@ ftype_register_integers(void)
{ .set_value_uinteger64 = set_uinteger64 }, /* union set_value */
{ .get_value_uinteger64 = get_uinteger64 }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq64,
cmp_ne64,
u_cmp_gt64,
@ -1299,8 +1281,6 @@ ftype_register_integers(void)
{ .set_value_sinteger = set_sinteger }, /* union set_value */
{ .get_value_sinteger = get_sinteger }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq,
cmp_ne,
s_cmp_gt,
@ -1329,8 +1309,6 @@ ftype_register_integers(void)
{ .set_value_sinteger = set_sinteger }, /* union set_value */
{ .get_value_sinteger = get_sinteger }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq,
cmp_ne,
s_cmp_gt,
@ -1359,8 +1337,6 @@ ftype_register_integers(void)
{ .set_value_sinteger = set_sinteger }, /* union set_value */
{ .get_value_sinteger = get_sinteger }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq,
cmp_ne,
s_cmp_gt,
@ -1389,8 +1365,6 @@ ftype_register_integers(void)
{ .set_value_sinteger = set_sinteger }, /* union set_value */
{ .get_value_sinteger = get_sinteger }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq,
cmp_ne,
s_cmp_gt,
@ -1419,8 +1393,6 @@ ftype_register_integers(void)
{ .set_value_sinteger64 = set_sinteger64 }, /* union set_value */
{ .get_value_sinteger64 = get_sinteger64 }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq64,
cmp_ne64,
s_cmp_gt64,
@ -1449,8 +1421,6 @@ ftype_register_integers(void)
{ .set_value_sinteger64 = set_sinteger64 }, /* union set_value */
{ .get_value_sinteger64 = get_sinteger64 }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq64,
cmp_ne64,
s_cmp_gt64,
@ -1479,8 +1449,6 @@ ftype_register_integers(void)
{ .set_value_sinteger64 = set_sinteger64 }, /* union set_value */
{ .get_value_sinteger64 = get_sinteger64 }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq64,
cmp_ne64,
s_cmp_gt64,
@ -1509,8 +1477,6 @@ ftype_register_integers(void)
{ .set_value_sinteger64 = set_sinteger64 }, /* union set_value */
{ .get_value_sinteger64 = get_sinteger64 }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq64,
cmp_ne64,
s_cmp_gt64,
@ -1539,8 +1505,6 @@ ftype_register_integers(void)
{ .set_value_uinteger64 = set_uinteger64 }, /* union set_value */
{ .get_value_uinteger64 = get_uinteger64 }, /* union get_value */
NULL, /* get_value_ptr */
bool_eq, /* cmp_eq */
bool_ne, /* cmp_ne */
NULL, /* cmp_gt */
@ -1570,8 +1534,6 @@ ftype_register_integers(void)
{ .set_value_uinteger = set_uinteger }, /* union set_value */
{ .get_value_uinteger = get_uinteger }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq,
cmp_ne,
u_cmp_gt,
@ -1601,8 +1563,6 @@ ftype_register_integers(void)
{ .set_value_uinteger = set_uinteger }, /* union set_value */
{ .get_value_uinteger = get_uinteger }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq,
cmp_ne,
u_cmp_gt,
@ -1632,8 +1592,6 @@ ftype_register_integers(void)
{ .set_value_uinteger64 = set_uinteger64 }, /* union set_value */
{ .get_value_uinteger64 = get_uinteger64 }, /* union get_value */
NULL, /* get_value_ptr */
cmp_eq64,
cmp_ne64,
u_cmp_gt64,

View File

@ -186,9 +186,7 @@ ftype_register_ipv4(void)
val_repr_len, /* len_string_repr */
{ .set_value_uinteger = set_uinteger }, /* union set_value */
{ NULL }, /* union get_value */
value_get, /* get_value_ptr */
{ .get_value_ptr = value_get }, /* union get_value */
cmp_eq,
cmp_ne,

View File

@ -236,9 +236,7 @@ ftype_register_ipv6(void)
ipv6_repr_len, /* len_string_repr */
{ .set_value_bytes = ipv6_fvalue_set }, /* union set_value */
{ NULL }, /* union get_value */
value_get, /* get_value_ptr */
{ .get_value_ptr = value_get }, /* union get_value */
cmp_eq,
cmp_ne,

View File

@ -42,8 +42,6 @@ ftype_register_none(void)
{ NULL }, /* union set_value */
{ NULL }, /* union get_value */
NULL, /* get_value_ptr */
NULL, /* cmp_eq */
NULL, /* cmp_ne */
NULL, /* cmp_gt */

View File

@ -164,9 +164,7 @@ ftype_register_pcre(void)
gregex_repr_len, /* len_string_repr */
{ .set_value_string = gregex_fvalue_set }, /* union set_value */
{ NULL }, /* union get_value */
gregex_fvalue_get, /* get_value_ptr */
{ .get_value_ptr = gregex_fvalue_get }, /* union get_value */
NULL, /* cmp_eq */
NULL, /* cmp_ne */

View File

@ -464,9 +464,7 @@ ftype_register_tvbuff(void)
val_repr_len, /* len_string_repr */
{ .set_value_protocol = value_set }, /* union set_value */
{ NULL }, /* union get_value */
value_get, /* get_value_ptr */
{ .get_value_ptr = value_get }, /* union get_value */
cmp_eq,
cmp_ne,

View File

@ -241,9 +241,7 @@ ftype_register_string(void)
string_repr_len, /* len_string_repr */
{ .set_value_string = string_fvalue_set_string }, /* union set_value */
{ NULL }, /* union get_value */
value_get, /* get_value_ptr */
{ .get_value_ptr = value_get }, /* union get_value */
cmp_eq,
cmp_ne,
@ -271,9 +269,7 @@ ftype_register_string(void)
string_repr_len, /* len_string_repr */
{ .set_value_string = string_fvalue_set_string }, /* union set_value */
{ NULL }, /* union get_value */
value_get, /* get_value_ptr */
{ .get_value_ptr = value_get }, /* union get_value */
cmp_eq,
cmp_ne,
@ -301,9 +297,7 @@ ftype_register_string(void)
string_repr_len, /* len_string_repr */
{ .set_value_string = string_fvalue_set_string }, /* union set_value */
{ NULL }, /* union get_value */
value_get, /* get_value_ptr */
{ .get_value_ptr = value_get }, /* union get_value */
cmp_eq,
cmp_ne,
@ -331,9 +325,7 @@ ftype_register_string(void)
string_repr_len, /* len_string_repr */
{ .set_value_string = string_fvalue_set_string }, /* union set_value */
{ NULL }, /* union get_value */
value_get, /* get_value_ptr */
{ .get_value_ptr = value_get }, /* union get_value */
cmp_eq,
cmp_ne,

View File

@ -396,9 +396,7 @@ ftype_register_time(void)
absolute_val_repr_len, /* len_string_repr */
{ .set_value_time = time_fvalue_set }, /* union set_value */
{ NULL }, /* union get_value */
value_get, /* get_value_ptr */
{ .get_value_ptr = value_get }, /* union get_value */
cmp_eq,
cmp_ne,
@ -426,9 +424,7 @@ ftype_register_time(void)
relative_val_repr_len, /* len_string_repr */
{ .set_value_time = time_fvalue_set }, /* union set_value */
{ NULL }, /* union get_value */
value_get, /* get_value_ptr */
{ .get_value_ptr = value_get }, /* union get_value */
cmp_eq,
cmp_ne,

View File

@ -105,6 +105,7 @@ struct _ftype_t {
} set_value;
union {
FvalueGetFunc get_value_ptr;
FvalueGetUnsignedIntegerFunc get_value_uinteger;
FvalueGetSignedIntegerFunc get_value_sinteger;
FvalueGetUnsignedInteger64Func get_value_uinteger64;
@ -112,9 +113,6 @@ struct _ftype_t {
FvalueGetFloatingFunc get_value_floating;
} get_value;
/* could be union */
FvalueGetFunc get_value_ptr;
FvalueCmp cmp_eq;
FvalueCmp cmp_ne;
FvalueCmp cmp_gt;

View File

@ -619,8 +619,25 @@ fvalue_set_floating(fvalue_t *fv, gdouble value)
gpointer
fvalue_get(fvalue_t *fv)
{
g_assert(fv->ftype->get_value_ptr);
return fv->ftype->get_value_ptr(fv);
g_assert(fv->ftype->ftype == FT_BYTES ||
fv->ftype->ftype == FT_UINT_BYTES ||
fv->ftype->ftype == FT_AX25 ||
fv->ftype->ftype == FT_VINES ||
fv->ftype->ftype == FT_ETHER ||
fv->ftype->ftype == FT_OID ||
fv->ftype->ftype == FT_REL_OID ||
fv->ftype->ftype == FT_SYSTEM_ID ||
fv->ftype->ftype == FT_FCWWN ||
fv->ftype->ftype == FT_GUID ||
fv->ftype->ftype == FT_IPv4 ||
fv->ftype->ftype == FT_IPv6 ||
fv->ftype->ftype == FT_PCRE ||
fv->ftype->ftype == FT_PROTOCOL ||
IS_FT_STRING(fv->ftype->ftype) ||
fv->ftype->ftype == FT_UINT_STRING ||
IS_FT_TIME(fv->ftype->ftype));
g_assert(fv->ftype->get_value.get_value_ptr);
return fv->ftype->get_value.get_value_ptr(fv);
}
guint32