Introduce a few FT_XXX lengths defines and use those instead of hard coding constants

svn path=/trunk/; revision=29846
This commit is contained in:
Kovarththanan Rajaratnam 2009-09-10 18:22:33 +00:00
parent 019625d876
commit 56b8d36e03
3 changed files with 19 additions and 15 deletions

View File

@ -39,9 +39,6 @@
#define CMP_MATCHES NULL
#endif
#define ETHER_LEN 6
#define IPv6_LEN 16
static void
bytes_fvalue_new(fvalue_t *fv)
{
@ -155,14 +152,14 @@ static void
ether_fvalue_set(fvalue_t *fv, gpointer value, gboolean already_copied)
{
g_assert(!already_copied);
common_fvalue_set(fv, value, ETHER_LEN);
common_fvalue_set(fv, value, FT_ETHER_LEN);
}
static void
ipv6_fvalue_set(fvalue_t *fv, gpointer value, gboolean already_copied)
{
g_assert(!already_copied);
common_fvalue_set(fv, value, IPv6_LEN);
common_fvalue_set(fv, value, FT_IPv6_LEN);
}
static void
@ -235,12 +232,12 @@ ether_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value, LogFunc
* we'll log a message.
*/
if (bytes_from_unparsed(fv, s, TRUE, NULL)) {
if (fv->value.bytes->len > ETHER_LEN) {
if (fv->value.bytes->len > FT_ETHER_LEN) {
logfunc("\"%s\" contains too many bytes to be a valid Ethernet address.",
s);
return FALSE;
}
else if (fv->value.bytes->len < ETHER_LEN && !allow_partial_value) {
else if (fv->value.bytes->len < FT_ETHER_LEN && !allow_partial_value) {
logfunc("\"%s\" contains too few bytes to be a valid Ethernet address.",
s);
return FALSE;
@ -593,7 +590,7 @@ ftype_register_bytes(void)
FT_ETHER, /* ftype */
"FT_ETHER", /* name */
"Ethernet or other MAC address",/* pretty_name */
ETHER_LEN, /* wire_size */
FT_ETHER_LEN, /* wire_size */
bytes_fvalue_new, /* new_value */
bytes_fvalue_free, /* free_value */
ether_from_unparsed, /* val_from_unparsed */
@ -631,7 +628,7 @@ ftype_register_bytes(void)
FT_IPv6, /* ftype */
"FT_IPv6", /* name */
"IPv6 address", /* pretty_name */
IPv6_LEN, /* wire_size */
FT_IPv6_LEN, /* wire_size */
bytes_fvalue_new, /* new_value */
bytes_fvalue_free, /* free_value */
ipv6_from_unparsed, /* val_from_unparsed */

View File

@ -71,6 +71,13 @@ enum ftenum {
#define IS_FT_TIME(ft) ((ft)==FT_ABSOLUTE_TIME||(ft)==FT_RELATIVE_TIME)
#define IS_FT_STRING(ft) ((ft)==FT_STRING||(ft)==FT_STRINGZ)
/* field types lengths */
#define FT_ETHER_LEN 6
#define FT_GUID_LEN 16
#define FT_IPv4_LEN 4
#define FT_IPv6_LEN 16
#define FT_IPXNET_LEN 4
typedef enum ftenum ftenum_t;
typedef struct _ftype_t ftype_t;

View File

@ -1261,29 +1261,29 @@ proto_tree_new_item(field_info *new_fi, proto_tree *tree,
break;
case FT_IPv4:
DISSECTOR_ASSERT(length == 4);
DISSECTOR_ASSERT(length == FT_IPv4_LEN);
value = tvb_get_ipv4(tvb, start);
proto_tree_set_ipv4(new_fi, little_endian ? GUINT32_SWAP_LE_BE(value) : value);
break;
case FT_IPXNET:
DISSECTOR_ASSERT(length == 4);
DISSECTOR_ASSERT(length == FT_IPXNET_LEN);
proto_tree_set_ipxnet(new_fi,
get_uint_value(tvb, start, 4, FALSE));
break;
case FT_IPv6:
DISSECTOR_ASSERT(length >=0 && length <= 16);
DISSECTOR_ASSERT(length >=0 && length <= FT_IPv6_LEN);
proto_tree_set_ipv6_tvb(new_fi, tvb, start, length);
break;
case FT_ETHER:
DISSECTOR_ASSERT(length == 6);
DISSECTOR_ASSERT(length == FT_ETHER_LEN);
proto_tree_set_ether_tvb(new_fi, tvb, start);
break;
case FT_GUID:
DISSECTOR_ASSERT(length == 16);
DISSECTOR_ASSERT(length == FT_GUID_LEN);
proto_tree_set_guid_tvb(new_fi, tvb, start, little_endian);
break;
@ -2386,7 +2386,7 @@ proto_tree_set_ether(field_info *fi, const guint8* value)
static void
proto_tree_set_ether_tvb(field_info *fi, tvbuff_t *tvb, gint start)
{
proto_tree_set_ether(fi, tvb_get_ptr(tvb, start, 6));
proto_tree_set_ether(fi, tvb_get_ptr(tvb, start, FT_ETHER_LEN));
}
/* Add a FT_BOOLEAN to a proto_tree */