Eliminate fvalue_set() in favor of routines that take arguments
appropriate for particular FT_ types. This lets us do some more type checking and lets us use const pointers when appropriate. Constify a bunch of stuff, and don't cast away constness. svn path=/trunk/; revision=54811
This commit is contained in:
parent
04b18f44c1
commit
61867d0b2f
|
@ -74,7 +74,7 @@ string_walk(GList* arg1list, GList **retval, gchar(*conv_func)(gchar))
|
|||
}
|
||||
|
||||
new_ft_string = fvalue_new(FT_STRING);
|
||||
fvalue_set(new_ft_string, s, FALSE);
|
||||
fvalue_set_string(new_ft_string, s);
|
||||
*retval = g_list_append(*retval, new_ft_string);
|
||||
break;
|
||||
|
||||
|
|
|
@ -50,14 +50,12 @@ bytes_fvalue_free(fvalue_t *fv)
|
|||
|
||||
|
||||
static void
|
||||
bytes_fvalue_set(fvalue_t *fv, gpointer value, gboolean already_copied)
|
||||
bytes_fvalue_set(fvalue_t *fv, GByteArray *value)
|
||||
{
|
||||
g_assert(already_copied);
|
||||
|
||||
/* Free up the old value, if we have one */
|
||||
bytes_fvalue_free(fv);
|
||||
|
||||
fv->value.bytes = (GByteArray *)value;
|
||||
fv->value.bytes = value;
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -163,7 +161,7 @@ bytes_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
|
|||
}
|
||||
|
||||
static void
|
||||
common_fvalue_set(fvalue_t *fv, guint8* data, guint len)
|
||||
common_fvalue_set(fvalue_t *fv, const guint8* data, guint len)
|
||||
{
|
||||
/* Free up the old value, if we have one */
|
||||
bytes_fvalue_free(fv);
|
||||
|
@ -173,46 +171,39 @@ common_fvalue_set(fvalue_t *fv, guint8* data, guint len)
|
|||
}
|
||||
|
||||
static void
|
||||
ax25_fvalue_set(fvalue_t *fv, gpointer value, gboolean already_copied)
|
||||
ax25_fvalue_set(fvalue_t *fv, const guint8 *value)
|
||||
{
|
||||
g_assert(!already_copied);
|
||||
common_fvalue_set(fv, (guint8 *)value, FT_AX25_ADDR_LEN);
|
||||
common_fvalue_set(fv, value, FT_AX25_ADDR_LEN);
|
||||
}
|
||||
|
||||
static void
|
||||
vines_fvalue_set(fvalue_t *fv, gpointer value, gboolean already_copied)
|
||||
vines_fvalue_set(fvalue_t *fv, const guint8 *value)
|
||||
{
|
||||
g_assert(!already_copied);
|
||||
common_fvalue_set(fv, (guint8 *)value, FT_VINES_ADDR_LEN);
|
||||
common_fvalue_set(fv, value, FT_VINES_ADDR_LEN);
|
||||
}
|
||||
|
||||
static void
|
||||
ether_fvalue_set(fvalue_t *fv, gpointer value, gboolean already_copied)
|
||||
ether_fvalue_set(fvalue_t *fv, const guint8 *value)
|
||||
{
|
||||
g_assert(!already_copied);
|
||||
common_fvalue_set(fv, (guint8*)value, FT_ETHER_LEN);
|
||||
common_fvalue_set(fv, value, FT_ETHER_LEN);
|
||||
}
|
||||
|
||||
static void
|
||||
oid_fvalue_set(fvalue_t *fv, gpointer value, gboolean already_copied)
|
||||
oid_fvalue_set(fvalue_t *fv, GByteArray *value)
|
||||
{
|
||||
g_assert(already_copied);
|
||||
|
||||
/* Free up the old value, if we have one */
|
||||
bytes_fvalue_free(fv);
|
||||
|
||||
fv->value.bytes = (GByteArray *)value;
|
||||
fv->value.bytes = value;
|
||||
}
|
||||
|
||||
static void
|
||||
system_id_fvalue_set(fvalue_t *fv, gpointer value, gboolean already_copied)
|
||||
system_id_fvalue_set(fvalue_t *fv, GByteArray *value)
|
||||
{
|
||||
g_assert(already_copied);
|
||||
|
||||
/* Free up the old value, if we have one */
|
||||
bytes_fvalue_free(fv);
|
||||
|
||||
fv->value.bytes = (GByteArray *)value;
|
||||
fv->value.bytes = value;
|
||||
}
|
||||
|
||||
static gpointer
|
||||
|
@ -222,7 +213,7 @@ value_get(fvalue_t *fv)
|
|||
}
|
||||
|
||||
static gboolean
|
||||
bytes_from_string(fvalue_t *fv, char *s, LogFunc logfunc _U_)
|
||||
bytes_from_string(fvalue_t *fv, const char *s, LogFunc logfunc _U_)
|
||||
{
|
||||
GByteArray *bytes;
|
||||
|
||||
|
@ -238,7 +229,7 @@ bytes_from_string(fvalue_t *fv, char *s, LogFunc logfunc _U_)
|
|||
}
|
||||
|
||||
static gboolean
|
||||
bytes_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
bytes_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
{
|
||||
GByteArray *bytes;
|
||||
gboolean res;
|
||||
|
@ -263,7 +254,7 @@ bytes_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, Log
|
|||
}
|
||||
|
||||
static gboolean
|
||||
ax25_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
ax25_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
{
|
||||
/*
|
||||
* Don't log a message if this fails; we'll try looking it
|
||||
|
@ -321,7 +312,7 @@ ax25_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value, LogFunc
|
|||
}
|
||||
|
||||
static gboolean
|
||||
vines_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
vines_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
{
|
||||
/*
|
||||
* Don't log a message if this fails; we'll try looking it
|
||||
|
@ -350,7 +341,7 @@ vines_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value, LogFunc
|
|||
}
|
||||
|
||||
static gboolean
|
||||
ether_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
ether_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
{
|
||||
guint8 *mac;
|
||||
|
||||
|
@ -381,12 +372,12 @@ ether_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value, LogFunc
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
ether_fvalue_set(fv, mac, FALSE);
|
||||
ether_fvalue_set(fv, mac);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
oid_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
oid_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
{
|
||||
GByteArray *bytes;
|
||||
gboolean res;
|
||||
|
@ -420,7 +411,7 @@ oid_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFu
|
|||
}
|
||||
|
||||
static gboolean
|
||||
rel_oid_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
rel_oid_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
{
|
||||
GByteArray *bytes;
|
||||
gboolean res;
|
||||
|
@ -448,7 +439,7 @@ rel_oid_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, L
|
|||
}
|
||||
|
||||
static gboolean
|
||||
system_id_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
system_id_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
{
|
||||
/*
|
||||
* Don't log a message if this fails; we'll try looking it
|
||||
|
@ -677,28 +668,33 @@ ftype_register_bytes(void)
|
|||
{
|
||||
|
||||
static ftype_t bytes_type = {
|
||||
FT_BYTES, /* ftype */
|
||||
"FT_BYTES", /* name */
|
||||
FT_BYTES, /* ftype */
|
||||
"FT_BYTES", /* name */
|
||||
"Sequence of bytes", /* pretty_name */
|
||||
0, /* wire_size */
|
||||
bytes_fvalue_new, /* new_value */
|
||||
bytes_fvalue_free, /* free_value */
|
||||
0, /* wire_size */
|
||||
bytes_fvalue_new, /* new_value */
|
||||
bytes_fvalue_free, /* free_value */
|
||||
bytes_from_unparsed, /* val_from_unparsed */
|
||||
bytes_from_string, /* val_from_string */
|
||||
bytes_to_repr, /* val_to_string_repr */
|
||||
bytes_repr_len, /* len_string_repr */
|
||||
bytes_from_string, /* val_from_string */
|
||||
bytes_to_repr, /* val_to_string_repr */
|
||||
bytes_repr_len, /* len_string_repr */
|
||||
|
||||
bytes_fvalue_set, /* set_value */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
NULL, /* set_value_floating */
|
||||
bytes_fvalue_set, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
NULL, /* set_value_floating */
|
||||
|
||||
value_get, /* get_value */
|
||||
NULL, /* get_value_uinteger */
|
||||
NULL, /* get_value_sinteger */
|
||||
NULL, /* get_value_integer64 */
|
||||
NULL, /* get_value_floating */
|
||||
value_get, /* get_value */
|
||||
NULL, /* get_value_uinteger */
|
||||
NULL, /* get_value_sinteger */
|
||||
NULL, /* get_value_integer64 */
|
||||
NULL, /* get_value_floating */
|
||||
|
||||
cmp_eq,
|
||||
cmp_ne,
|
||||
|
@ -726,7 +722,12 @@ ftype_register_bytes(void)
|
|||
bytes_to_repr, /* val_to_string_repr */
|
||||
bytes_repr_len, /* len_string_repr */
|
||||
|
||||
bytes_fvalue_set, /* set_value */
|
||||
bytes_fvalue_set, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
@ -764,7 +765,12 @@ ftype_register_bytes(void)
|
|||
bytes_to_repr, /* val_to_string_repr */
|
||||
bytes_repr_len, /* len_string_repr */
|
||||
|
||||
ax25_fvalue_set, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
ax25_fvalue_set, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_integer */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
@ -797,12 +803,17 @@ ftype_register_bytes(void)
|
|||
FT_VINES_ADDR_LEN, /* wire_size */
|
||||
bytes_fvalue_new, /* new_value */
|
||||
bytes_fvalue_free, /* free_value */
|
||||
vines_from_unparsed, /* val_from_unparsed */
|
||||
vines_from_unparsed, /* val_from_unparsed */
|
||||
NULL, /* val_from_string */
|
||||
bytes_to_repr, /* val_to_string_repr */
|
||||
bytes_repr_len, /* len_string_repr */
|
||||
|
||||
vines_fvalue_set, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
vines_fvalue_set, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_integer */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
@ -840,7 +851,12 @@ ftype_register_bytes(void)
|
|||
bytes_to_repr, /* val_to_string_repr */
|
||||
bytes_repr_len, /* len_string_repr */
|
||||
|
||||
ether_fvalue_set, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
ether_fvalue_set, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
@ -878,7 +894,12 @@ ftype_register_bytes(void)
|
|||
oid_to_repr, /* val_to_string_repr */
|
||||
oid_repr_len, /* len_string_repr */
|
||||
|
||||
oid_fvalue_set, /* set_value */
|
||||
oid_fvalue_set, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
@ -916,7 +937,12 @@ ftype_register_bytes(void)
|
|||
rel_oid_to_repr, /* val_to_string_repr */
|
||||
rel_oid_repr_len, /* len_string_repr */
|
||||
|
||||
oid_fvalue_set, /* set_value (same as full oid) */
|
||||
oid_fvalue_set, /* set_value_byte_array (same as full oid) */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
@ -954,7 +980,12 @@ ftype_register_bytes(void)
|
|||
system_id_to_repr, /* val_to_string_repr */
|
||||
bytes_repr_len, /* len_string_repr */
|
||||
|
||||
system_id_fvalue_set, /* set_value */
|
||||
system_id_fvalue_set, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
|
|
@ -49,7 +49,7 @@ value_get_floating(fvalue_t *fv)
|
|||
}
|
||||
|
||||
static gboolean
|
||||
val_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
val_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
{
|
||||
char *endptr = NULL;
|
||||
|
||||
|
@ -166,7 +166,12 @@ ftype_register_double(void)
|
|||
float_val_to_repr, /* val_to_string_repr */
|
||||
float_val_repr_len, /* len_string_repr */
|
||||
|
||||
NULL, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_snteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
@ -204,7 +209,12 @@ ftype_register_double(void)
|
|||
double_val_to_repr, /* val_to_string_repr */
|
||||
double_val_repr_len, /* len_string_repr */
|
||||
|
||||
NULL, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
|
|
@ -31,10 +31,9 @@
|
|||
#include <epan/to_str.h>
|
||||
|
||||
static void
|
||||
guid_fvalue_set(fvalue_t *fv, gpointer value, gboolean already_copied)
|
||||
guid_fvalue_set_guid(fvalue_t *fv, const e_guid_t *value)
|
||||
{
|
||||
g_assert(!already_copied);
|
||||
fv->value.guid = *(e_guid_t*)value;
|
||||
fv->value.guid = *value;
|
||||
}
|
||||
|
||||
static gpointer
|
||||
|
@ -44,10 +43,11 @@ value_get(fvalue_t *fv)
|
|||
}
|
||||
|
||||
static gboolean
|
||||
get_guid(char *s, e_guid_t *guid)
|
||||
get_guid(const char *s, e_guid_t *guid)
|
||||
{
|
||||
size_t i, n;
|
||||
char *p, digits[9];
|
||||
const char *p;
|
||||
char digits[9];
|
||||
static const char fmt[] = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
|
||||
|
||||
n = strlen(s);
|
||||
|
@ -87,7 +87,7 @@ get_guid(char *s, e_guid_t *guid)
|
|||
}
|
||||
|
||||
static gboolean
|
||||
guid_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
guid_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
{
|
||||
e_guid_t guid;
|
||||
|
||||
|
@ -140,7 +140,12 @@ ftype_register_guid(void)
|
|||
guid_to_repr, /* val_to_string_repr */
|
||||
guid_repr_len, /* len_string_repr */
|
||||
|
||||
guid_fvalue_set, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
guid_fvalue_set_guid, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
|
|
@ -64,7 +64,7 @@ get_sinteger(fvalue_t *fv)
|
|||
|
||||
|
||||
static gboolean
|
||||
uint_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFunc logfunc,
|
||||
uint_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, LogFunc logfunc,
|
||||
guint32 max)
|
||||
{
|
||||
unsigned long value;
|
||||
|
@ -117,31 +117,31 @@ uint_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogF
|
|||
}
|
||||
|
||||
static gboolean
|
||||
uint32_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
uint32_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
{
|
||||
return uint_from_unparsed (fv, s, allow_partial_value, logfunc, G_MAXUINT32);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
uint24_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
uint24_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
{
|
||||
return uint_from_unparsed (fv, s, allow_partial_value, logfunc, 0xFFFFFF);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
uint16_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
uint16_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
{
|
||||
return uint_from_unparsed (fv, s, allow_partial_value, logfunc, G_MAXUINT16);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
uint8_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
uint8_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
{
|
||||
return uint_from_unparsed (fv, s, allow_partial_value, logfunc, G_MAXUINT8);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
sint_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFunc logfunc,
|
||||
sint_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, LogFunc logfunc,
|
||||
gint32 max, gint32 min)
|
||||
{
|
||||
long value;
|
||||
|
@ -202,25 +202,25 @@ sint_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogF
|
|||
}
|
||||
|
||||
static gboolean
|
||||
sint32_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
sint32_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
{
|
||||
return sint_from_unparsed (fv, s, allow_partial_value, logfunc, G_MAXINT32, G_MININT32);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
sint24_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
sint24_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
{
|
||||
return sint_from_unparsed (fv, s, allow_partial_value, logfunc, 0x7FFFFF, -0x800000);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
sint16_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
sint16_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
{
|
||||
return sint_from_unparsed (fv, s, allow_partial_value, logfunc, G_MAXINT16, G_MININT16);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
sint8_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
sint8_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
{
|
||||
return sint_from_unparsed (fv, s, allow_partial_value, logfunc, G_MAXINT8, G_MININT8);
|
||||
}
|
||||
|
@ -258,7 +258,7 @@ uinteger_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, char *buf)
|
|||
}
|
||||
|
||||
static gboolean
|
||||
ipxnet_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
ipxnet_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
{
|
||||
guint32 val;
|
||||
gboolean known;
|
||||
|
@ -379,7 +379,7 @@ get_integer64(fvalue_t *fv)
|
|||
}
|
||||
|
||||
static gboolean
|
||||
uint64_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
uint64_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
{
|
||||
guint64 value;
|
||||
char *endptr;
|
||||
|
@ -424,7 +424,7 @@ uint64_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, Lo
|
|||
}
|
||||
|
||||
static gboolean
|
||||
sint64_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
sint64_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
{
|
||||
gint64 value;
|
||||
char *endptr;
|
||||
|
@ -613,7 +613,7 @@ bool_ne(const fvalue_t *a, const fvalue_t *b)
|
|||
|
||||
/* EUI64-specific */
|
||||
static gboolean
|
||||
eui64_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
eui64_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
{
|
||||
|
||||
/*
|
||||
|
@ -664,7 +664,12 @@ ftype_register_integers(void)
|
|||
uinteger_to_repr, /* val_to_string_repr */
|
||||
uinteger_repr_len, /* len_string_repr */
|
||||
|
||||
NULL, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
set_uinteger, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
@ -701,8 +706,13 @@ ftype_register_integers(void)
|
|||
uinteger_to_repr, /* val_to_string_repr */
|
||||
uinteger_repr_len, /* len_string_repr */
|
||||
|
||||
NULL, /* set_value */
|
||||
set_uinteger, /* set_value_uinteger */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
set_uinteger, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
NULL, /* set_value_floating */
|
||||
|
@ -738,8 +748,13 @@ ftype_register_integers(void)
|
|||
uinteger_to_repr, /* val_to_string_repr */
|
||||
uinteger_repr_len, /* len_string_repr */
|
||||
|
||||
NULL, /* set_value */
|
||||
set_uinteger, /* set_value_integer */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
set_uinteger, /* set_value_integer */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
NULL, /* set_value_floating */
|
||||
|
@ -775,14 +790,19 @@ ftype_register_integers(void)
|
|||
uinteger_to_repr, /* val_to_string_repr */
|
||||
uinteger_repr_len, /* len_string_repr */
|
||||
|
||||
NULL, /* set_value */
|
||||
set_uinteger, /* set_value_uinteger */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
set_uinteger, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
NULL, /* set_value_floating */
|
||||
|
||||
NULL, /* get_value */
|
||||
get_uinteger, /* get_value_integer */
|
||||
get_uinteger, /* get_value_integer */
|
||||
NULL, /* get_value_sinteger */
|
||||
NULL, /* get_value_integer64 */
|
||||
NULL, /* get_value_floating */
|
||||
|
@ -812,16 +832,21 @@ ftype_register_integers(void)
|
|||
uinteger64_to_repr, /* val_to_string_repr */
|
||||
uinteger64_repr_len, /* len_string_repr */
|
||||
|
||||
NULL, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
set_integer64, /* set_value_integer64 */
|
||||
set_integer64, /* set_value_integer64 */
|
||||
NULL, /* set_value_floating */
|
||||
|
||||
NULL, /* get_value */
|
||||
NULL, /* get_value_uinteger */
|
||||
NULL, /* get_value_sinteger */
|
||||
get_integer64, /* get_value_integer64 */
|
||||
get_integer64, /* get_value_integer64 */
|
||||
NULL, /* get_value_floating */
|
||||
|
||||
cmp_eq64,
|
||||
|
@ -849,9 +874,14 @@ ftype_register_integers(void)
|
|||
integer_to_repr, /* val_to_string_repr */
|
||||
integer_repr_len, /* len_string_repr */
|
||||
|
||||
NULL, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
set_sinteger, /* set_value_sinteger */
|
||||
set_sinteger, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
NULL, /* set_value_floating */
|
||||
|
||||
|
@ -886,15 +916,20 @@ ftype_register_integers(void)
|
|||
integer_to_repr, /* val_to_string_repr */
|
||||
integer_repr_len, /* len_string_repr */
|
||||
|
||||
NULL, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
set_sinteger, /* set_value_sinteger */
|
||||
set_sinteger, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
NULL, /* set_value_floating */
|
||||
|
||||
NULL, /* get_value */
|
||||
NULL, /* get_value_uinteger */
|
||||
get_sinteger, /* get_value_sinteger */
|
||||
get_sinteger, /* get_value_sinteger */
|
||||
NULL, /* get_value_integer64 */
|
||||
NULL, /* get_value_floating */
|
||||
|
||||
|
@ -923,9 +958,14 @@ ftype_register_integers(void)
|
|||
integer_to_repr, /* val_to_string_repr */
|
||||
integer_repr_len, /* len_string_repr */
|
||||
|
||||
NULL, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
set_sinteger, /* set_value_sinteger */
|
||||
set_sinteger, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
NULL, /* set_value_floating */
|
||||
|
||||
|
@ -960,15 +1000,20 @@ ftype_register_integers(void)
|
|||
integer_to_repr, /* val_to_string_repr */
|
||||
integer_repr_len, /* len_string_repr */
|
||||
|
||||
NULL, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
set_sinteger, /* set_value_sinteger */
|
||||
set_sinteger, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
NULL, /* set_value_floating */
|
||||
|
||||
NULL, /* get_value */
|
||||
NULL, /* get_value_uinteger */
|
||||
get_sinteger, /* get_value_sinteger */
|
||||
get_sinteger, /* get_value_sinteger */
|
||||
NULL, /* get_value_integer64 */
|
||||
NULL, /* get_value_floating */
|
||||
|
||||
|
@ -997,16 +1042,21 @@ ftype_register_integers(void)
|
|||
integer64_to_repr, /* val_to_string_repr */
|
||||
integer64_repr_len, /* len_string_repr */
|
||||
|
||||
NULL, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
set_integer64, /* set_value_integer64 */
|
||||
set_integer64, /* set_value_integer64 */
|
||||
NULL, /* set_value_floating */
|
||||
|
||||
NULL, /* get_value */
|
||||
NULL, /* get_value_uinteger */
|
||||
NULL, /* get_value_sinteger */
|
||||
get_integer64, /* get_value_integer64 */
|
||||
get_integer64, /* get_value_integer64 */
|
||||
NULL, /* get_value_floating */
|
||||
|
||||
cmp_eq64,
|
||||
|
@ -1034,14 +1084,19 @@ ftype_register_integers(void)
|
|||
boolean_to_repr, /* val_to_string_repr */
|
||||
boolean_repr_len, /* len_string_repr */
|
||||
|
||||
NULL, /* set_value */
|
||||
set_uinteger, /* set_value_uinteger */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
set_uinteger, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
NULL, /* set_value_floating */
|
||||
|
||||
NULL, /* get_value */
|
||||
get_uinteger, /* get_value_uinteger */
|
||||
get_uinteger, /* get_value_uinteger */
|
||||
NULL, /* get_value_sinteger */
|
||||
NULL, /* get_value_integer64 */
|
||||
NULL, /* get_value_floating */
|
||||
|
@ -1072,14 +1127,19 @@ ftype_register_integers(void)
|
|||
ipxnet_to_repr, /* val_to_string_repr */
|
||||
ipxnet_repr_len, /* len_string_repr */
|
||||
|
||||
NULL, /* set_value */
|
||||
set_uinteger, /* set_value_uinteger */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
set_uinteger, /* set_value_uinteger */
|
||||
NULL, /* get_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
NULL, /* set_value_floating */
|
||||
|
||||
NULL, /* get_value */
|
||||
get_uinteger, /* get_value_uinteger */
|
||||
get_uinteger, /* get_value_uinteger */
|
||||
NULL, /* get_value_sinteger */
|
||||
NULL, /* get_value_integer64 */
|
||||
NULL, /* get_value_floating */
|
||||
|
@ -1110,14 +1170,19 @@ ftype_register_integers(void)
|
|||
uinteger_to_repr, /* val_to_string_repr */
|
||||
uinteger_repr_len, /* len_string_repr */
|
||||
|
||||
NULL, /* set_value */
|
||||
set_uinteger, /* set_value_uinteger */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
set_uinteger, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
NULL, /* set_value_floating */
|
||||
|
||||
NULL, /* get_value */
|
||||
get_uinteger, /* get_value_uinteger */
|
||||
get_uinteger, /* get_value_uinteger */
|
||||
NULL, /* get_value_sinteger */
|
||||
NULL, /* get_value_integer64 */
|
||||
NULL, /* get_value_floating */
|
||||
|
@ -1145,10 +1210,15 @@ ftype_register_integers(void)
|
|||
NULL, /* free_value */
|
||||
eui64_from_unparsed, /* val_from_unparsed */
|
||||
NULL, /* val_from_string */
|
||||
eui64_to_repr, /* val_to_string_repr */
|
||||
eui64_repr_len, /* len_string_repr */
|
||||
eui64_to_repr, /* val_to_string_repr */
|
||||
eui64_repr_len, /* len_string_repr */
|
||||
|
||||
NULL, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
set_integer64, /* set_value_integer64 */
|
||||
|
|
|
@ -44,13 +44,13 @@ value_get(fvalue_t *fv)
|
|||
}
|
||||
|
||||
static gboolean
|
||||
val_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
val_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
{
|
||||
guint32 addr;
|
||||
unsigned int nmask_bits;
|
||||
|
||||
char *has_slash;
|
||||
char *net_str, *addr_str;
|
||||
const char *has_slash;
|
||||
const char *net_str, *addr_str;
|
||||
fvalue_t *nmask_fvalue;
|
||||
|
||||
/* Look for CIDR: Is there a single slash in the string? */
|
||||
|
@ -178,7 +178,12 @@ ftype_register_ipv4(void)
|
|||
val_to_repr, /* val_to_string_repr */
|
||||
val_repr_len, /* len_string_repr */
|
||||
|
||||
NULL, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
set_uinteger, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
|
|
@ -30,18 +30,16 @@
|
|||
#include <epan/emem.h>
|
||||
|
||||
static void
|
||||
ipv6_fvalue_set(fvalue_t *fv, gpointer value, gboolean already_copied)
|
||||
ipv6_fvalue_set(fvalue_t *fv, const guint8 *value)
|
||||
{
|
||||
g_assert(!already_copied);
|
||||
|
||||
memcpy(fv->value.ipv6.addr.bytes, value, FT_IPv6_LEN);
|
||||
fv->value.ipv6.prefix = 128;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
ipv6_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
ipv6_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
{
|
||||
char *has_slash, *addr_str;
|
||||
const char *has_slash, *addr_str;
|
||||
unsigned int nmask_bits;
|
||||
fvalue_t *nmask_fvalue;
|
||||
|
||||
|
@ -227,7 +225,12 @@ ftype_register_ipv6(void)
|
|||
ipv6_to_repr, /* val_to_string_repr */
|
||||
ipv6_repr_len, /* len_string_repr */
|
||||
|
||||
ipv6_fvalue_set, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
ipv6_fvalue_set, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
|
|
@ -41,7 +41,12 @@ ftype_register_none(void)
|
|||
NULL, /* val_to_string_repr */
|
||||
NULL, /* len_string_repr */
|
||||
|
||||
NULL, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
|
|
@ -75,7 +75,7 @@ raw_flag_needed(const gchar *pattern)
|
|||
/* Generate a FT_PCRE from a parsed string pattern.
|
||||
* Uses the specified logfunc() to report errors. */
|
||||
static gboolean
|
||||
val_from_string(fvalue_t *fv, char *pattern, LogFunc logfunc)
|
||||
val_from_string(fvalue_t *fv, const char *pattern, LogFunc logfunc)
|
||||
{
|
||||
GError *regex_error = NULL;
|
||||
GRegexCompileFlags cflags = G_REGEX_OPTIMIZE;
|
||||
|
@ -113,7 +113,7 @@ val_from_string(fvalue_t *fv, char *pattern, LogFunc logfunc)
|
|||
/* Generate a FT_PCRE from an unparsed string pattern.
|
||||
* Uses the specified logfunc() to report errors. */
|
||||
static gboolean
|
||||
val_from_unparsed(fvalue_t *fv, char *pattern, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
val_from_unparsed(fvalue_t *fv, const char *pattern, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
{
|
||||
g_assert(! allow_partial_value);
|
||||
|
||||
|
@ -137,13 +137,12 @@ gregex_to_repr(fvalue_t *fv, ftrepr_t rtype, char *buf)
|
|||
/* BEHOLD - value contains the string representation of the regular expression,
|
||||
* and we want to store the compiled PCRE RE object into the value. */
|
||||
static void
|
||||
gregex_fvalue_set(fvalue_t *fv, gpointer value, gboolean already_copied)
|
||||
gregex_fvalue_set(fvalue_t *fv, const char *value)
|
||||
{
|
||||
g_assert(value != NULL);
|
||||
/* Free up the old value, if we have one */
|
||||
gregex_fvalue_free(fv);
|
||||
g_assert(! already_copied);
|
||||
val_from_unparsed(fv, (char *)value, FALSE, NULL);
|
||||
val_from_unparsed(fv, value, FALSE, NULL);
|
||||
}
|
||||
|
||||
static gpointer
|
||||
|
@ -167,7 +166,12 @@ ftype_register_pcre(void)
|
|||
gregex_to_repr, /* val_to_string_repr */
|
||||
gregex_repr_len, /* len_string_repr */
|
||||
|
||||
gregex_fvalue_set, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
gregex_fvalue_set, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
|
|
@ -45,17 +45,14 @@ string_fvalue_free(fvalue_t *fv)
|
|||
}
|
||||
|
||||
static void
|
||||
string_fvalue_set(fvalue_t *fv, gpointer value, gboolean already_copied)
|
||||
string_fvalue_set_string(fvalue_t *fv, const gchar *value)
|
||||
{
|
||||
DISSECTOR_ASSERT(value != NULL);
|
||||
|
||||
/* Free up the old value, if we have one */
|
||||
string_fvalue_free(fv);
|
||||
|
||||
if (already_copied)
|
||||
fv->value.string = (gchar *)value; /* must be g_ allocated */
|
||||
else
|
||||
fv->value.string = (gchar *)g_strdup((const gchar *)value);
|
||||
fv->value.string = (gchar *)g_strdup(value);
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -95,7 +92,7 @@ value_get(fvalue_t *fv)
|
|||
}
|
||||
|
||||
static gboolean
|
||||
val_from_string(fvalue_t *fv, char *s, LogFunc logfunc _U_)
|
||||
val_from_string(fvalue_t *fv, const char *s, LogFunc logfunc _U_)
|
||||
{
|
||||
/* Free up the old value, if we have one */
|
||||
string_fvalue_free(fv);
|
||||
|
@ -105,7 +102,7 @@ val_from_string(fvalue_t *fv, char *s, LogFunc logfunc _U_)
|
|||
}
|
||||
|
||||
static gboolean
|
||||
val_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
val_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
{
|
||||
fvalue_t *fv_bytes;
|
||||
|
||||
|
@ -247,7 +244,12 @@ ftype_register_string(void)
|
|||
string_to_repr, /* val_to_string_repr */
|
||||
string_repr_len, /* len_string_repr */
|
||||
|
||||
string_fvalue_set, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
string_fvalue_set_string, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
@ -284,7 +286,12 @@ ftype_register_string(void)
|
|||
string_to_repr, /* val_to_string_repr */
|
||||
string_repr_len, /* len_string_repr */
|
||||
|
||||
string_fvalue_set, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
string_fvalue_set_string, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
@ -321,7 +328,12 @@ ftype_register_string(void)
|
|||
string_to_repr, /* val_to_string_repr */
|
||||
string_repr_len, /* len_string_repr */
|
||||
|
||||
string_fvalue_set, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
string_fvalue_set_string, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
|
|
@ -113,11 +113,11 @@ cmp_le(const fvalue_t *a, const fvalue_t *b)
|
|||
* Returns true on success, false on failure.
|
||||
*/
|
||||
static gboolean
|
||||
get_nsecs(char *startp, int *nsecs)
|
||||
get_nsecs(const char *startp, int *nsecs)
|
||||
{
|
||||
int ndigits;
|
||||
int scale;
|
||||
char *p;
|
||||
const char *p;
|
||||
int val;
|
||||
int digit;
|
||||
int i;
|
||||
|
@ -171,9 +171,10 @@ get_nsecs(char *startp, int *nsecs)
|
|||
}
|
||||
|
||||
static gboolean
|
||||
relative_val_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
relative_val_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
{
|
||||
char *curptr, *endptr;
|
||||
const char *curptr;
|
||||
char *endptr;
|
||||
gboolean negative = FALSE;
|
||||
|
||||
curptr = s;
|
||||
|
@ -236,7 +237,7 @@ fail:
|
|||
|
||||
|
||||
static gboolean
|
||||
absolute_val_from_string(fvalue_t *fv, char *s, LogFunc logfunc)
|
||||
absolute_val_from_string(fvalue_t *fv, const char *s, LogFunc logfunc)
|
||||
{
|
||||
struct tm tm;
|
||||
char *curptr;
|
||||
|
@ -300,7 +301,7 @@ fail:
|
|||
}
|
||||
|
||||
static gboolean
|
||||
absolute_val_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
absolute_val_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
{
|
||||
return absolute_val_from_string(fv, s, logfunc);
|
||||
}
|
||||
|
@ -313,10 +314,9 @@ time_fvalue_new(fvalue_t *fv)
|
|||
}
|
||||
|
||||
static void
|
||||
time_fvalue_set(fvalue_t *fv, gpointer value, gboolean already_copied)
|
||||
time_fvalue_set(fvalue_t *fv, const nstime_t *value)
|
||||
{
|
||||
g_assert(!already_copied);
|
||||
memcpy(&(fv->value.time), value, sizeof(nstime_t));
|
||||
fv->value.time = *value;
|
||||
}
|
||||
|
||||
static gpointer
|
||||
|
@ -374,7 +374,12 @@ ftype_register_time(void)
|
|||
absolute_val_to_repr, /* val_to_string_repr */
|
||||
absolute_val_repr_len, /* len_string_repr */
|
||||
|
||||
time_fvalue_set, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
time_fvalue_set, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
@ -411,7 +416,12 @@ ftype_register_time(void)
|
|||
relative_val_to_repr, /* val_to_string_repr */
|
||||
relative_val_repr_len, /* len_string_repr */
|
||||
|
||||
time_fvalue_set, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
time_fvalue_set, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
NULL, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
|
|
@ -48,14 +48,12 @@ value_free(fvalue_t *fv)
|
|||
}
|
||||
|
||||
static void
|
||||
value_set(fvalue_t *fv, gpointer value, gboolean already_copied)
|
||||
value_set(fvalue_t *fv, tvbuff_t *value)
|
||||
{
|
||||
g_assert(already_copied);
|
||||
|
||||
/* Free up the old value, if we have one */
|
||||
value_free(fv);
|
||||
|
||||
fv->value.tvb = (tvbuff_t *)value;
|
||||
fv->value.tvb = value;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -65,7 +63,7 @@ free_tvb_data(void *data)
|
|||
}
|
||||
|
||||
static gboolean
|
||||
val_from_string(fvalue_t *fv, char *s, LogFunc logfunc _U_)
|
||||
val_from_string(fvalue_t *fv, const char *s, LogFunc logfunc _U_)
|
||||
{
|
||||
tvbuff_t *new_tvb;
|
||||
guint8 *private_data;
|
||||
|
@ -89,7 +87,7 @@ val_from_string(fvalue_t *fv, char *s, LogFunc logfunc _U_)
|
|||
}
|
||||
|
||||
static gboolean
|
||||
val_from_unparsed(fvalue_t *fv, char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
val_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
|
||||
{
|
||||
fvalue_t *fv_bytes;
|
||||
tvbuff_t *new_tvb;
|
||||
|
@ -429,7 +427,12 @@ ftype_register_tvbuff(void)
|
|||
val_to_repr, /* val_to_string_repr */
|
||||
val_repr_len, /* len_string_repr */
|
||||
|
||||
value_set, /* set_value */
|
||||
NULL, /* set_value_byte_array */
|
||||
NULL, /* set_value_bytes */
|
||||
NULL, /* set_value_guid */
|
||||
NULL, /* set_value_time */
|
||||
NULL, /* set_value_string */
|
||||
value_set, /* set_value_tvbuff */
|
||||
NULL, /* set_value_uinteger */
|
||||
NULL, /* set_value_sinteger */
|
||||
NULL, /* set_value_integer64 */
|
||||
|
|
|
@ -49,12 +49,17 @@ void ftype_register_pcre(void);
|
|||
typedef void (*FvalueNewFunc)(fvalue_t*);
|
||||
typedef void (*FvalueFreeFunc)(fvalue_t*);
|
||||
|
||||
typedef gboolean (*FvalueFromUnparsed)(fvalue_t*, char*, gboolean, LogFunc);
|
||||
typedef gboolean (*FvalueFromString)(fvalue_t*, char*, LogFunc);
|
||||
typedef gboolean (*FvalueFromUnparsed)(fvalue_t*, const char*, gboolean, LogFunc);
|
||||
typedef gboolean (*FvalueFromString)(fvalue_t*, const char*, LogFunc);
|
||||
typedef void (*FvalueToStringRepr)(fvalue_t*, ftrepr_t, char*volatile);
|
||||
typedef int (*FvalueStringReprLen)(fvalue_t*, ftrepr_t);
|
||||
|
||||
typedef void (*FvalueSetFunc)(fvalue_t*, gpointer, gboolean);
|
||||
typedef void (*FvalueSetByteArrayFunc)(fvalue_t*, GByteArray *);
|
||||
typedef void (*FvalueSetBytesFunc)(fvalue_t*, const guint8 *);
|
||||
typedef void (*FvalueSetGuidFunc)(fvalue_t*, const e_guid_t *);
|
||||
typedef void (*FvalueSetTimeFunc)(fvalue_t*, const nstime_t *);
|
||||
typedef void (*FvalueSetStringFunc)(fvalue_t*, const gchar *value);
|
||||
typedef void (*FvalueSetTvbuffFunc)(fvalue_t*, tvbuff_t *value);
|
||||
typedef void (*FvalueSetUnsignedIntegerFunc)(fvalue_t*, guint32);
|
||||
typedef void (*FvalueSetSignedIntegerFunc)(fvalue_t*, gint32);
|
||||
typedef void (*FvalueSetInteger64Func)(fvalue_t*, guint64);
|
||||
|
@ -84,7 +89,12 @@ struct _ftype_t {
|
|||
FvalueStringReprLen len_string_repr;
|
||||
|
||||
/* could be union */
|
||||
FvalueSetFunc set_value;
|
||||
FvalueSetByteArrayFunc set_value_byte_array;
|
||||
FvalueSetBytesFunc set_value_bytes;
|
||||
FvalueSetGuidFunc set_value_guid;
|
||||
FvalueSetTimeFunc set_value_time;
|
||||
FvalueSetStringFunc set_value_string;
|
||||
FvalueSetTvbuffFunc set_value_tvbuff;
|
||||
FvalueSetUnsignedIntegerFunc set_value_uinteger;
|
||||
FvalueSetSignedIntegerFunc set_value_sinteger;
|
||||
FvalueSetInteger64Func set_value_integer64;
|
||||
|
|
|
@ -227,7 +227,7 @@ fvalue_init(fvalue_t *fv, ftenum_t ftype)
|
|||
}
|
||||
|
||||
fvalue_t*
|
||||
fvalue_from_unparsed(ftenum_t ftype, char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
fvalue_from_unparsed(ftenum_t ftype, const char *s, gboolean allow_partial_value, LogFunc logfunc)
|
||||
{
|
||||
fvalue_t *fv;
|
||||
|
||||
|
@ -246,7 +246,7 @@ fvalue_from_unparsed(ftenum_t ftype, char *s, gboolean allow_partial_value, LogF
|
|||
}
|
||||
|
||||
fvalue_t*
|
||||
fvalue_from_string(ftenum_t ftype, char *s, LogFunc logfunc)
|
||||
fvalue_from_string(ftenum_t ftype, const char *s, LogFunc logfunc)
|
||||
{
|
||||
fvalue_t *fv;
|
||||
|
||||
|
@ -408,16 +408,51 @@ fvalue_slice(fvalue_t *fv, drange_t *d_range)
|
|||
drange_foreach_drange_node(d_range, slice_func, &slice_data);
|
||||
|
||||
new_fv = fvalue_new(FT_BYTES);
|
||||
fvalue_set(new_fv, slice_data.bytes, TRUE);
|
||||
fvalue_set_byte_array(new_fv, slice_data.bytes);
|
||||
return new_fv;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
fvalue_set(fvalue_t *fv, gpointer value, gboolean already_copied)
|
||||
fvalue_set_byte_array(fvalue_t *fv, GByteArray *value)
|
||||
{
|
||||
g_assert(fv->ftype->set_value);
|
||||
fv->ftype->set_value(fv, value, already_copied);
|
||||
g_assert(fv->ftype->set_value_byte_array);
|
||||
fv->ftype->set_value_byte_array(fv, value);
|
||||
}
|
||||
|
||||
void
|
||||
fvalue_set_bytes(fvalue_t *fv, const guint8 *value)
|
||||
{
|
||||
g_assert(fv->ftype->set_value_bytes);
|
||||
fv->ftype->set_value_bytes(fv, value);
|
||||
}
|
||||
|
||||
void
|
||||
fvalue_set_guid(fvalue_t *fv, const e_guid_t *value)
|
||||
{
|
||||
g_assert(fv->ftype->set_value_guid);
|
||||
fv->ftype->set_value_guid(fv, value);
|
||||
}
|
||||
|
||||
void
|
||||
fvalue_set_time(fvalue_t *fv, const nstime_t *value)
|
||||
{
|
||||
g_assert(fv->ftype->set_value_time);
|
||||
fv->ftype->set_value_time(fv, value);
|
||||
}
|
||||
|
||||
void
|
||||
fvalue_set_string(fvalue_t *fv, const gchar *value)
|
||||
{
|
||||
g_assert(fv->ftype->set_value_string);
|
||||
fv->ftype->set_value_string(fv, value);
|
||||
}
|
||||
|
||||
void
|
||||
fvalue_set_tvbuff(fvalue_t *fv, tvbuff_t *value)
|
||||
{
|
||||
g_assert(fv->ftype->set_value_tvbuff);
|
||||
fv->ftype->set_value_tvbuff(fv, value);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -208,10 +208,10 @@ fvalue_init(fvalue_t *fv, ftenum_t ftype);
|
|||
|
||||
WS_DLL_PUBLIC
|
||||
fvalue_t*
|
||||
fvalue_from_unparsed(ftenum_t ftype, char *s, gboolean allow_partial_value, LogFunc logfunc);
|
||||
fvalue_from_unparsed(ftenum_t ftype, const char *s, gboolean allow_partial_value, LogFunc logfunc);
|
||||
|
||||
fvalue_t*
|
||||
fvalue_from_string(ftenum_t ftype, char *s, LogFunc logfunc);
|
||||
fvalue_from_string(ftenum_t ftype, const char *s, LogFunc logfunc);
|
||||
|
||||
/* Returns the length of the string required to hold the
|
||||
* string representation of the the field value.
|
||||
|
@ -243,7 +243,22 @@ const char*
|
|||
fvalue_type_name(fvalue_t *fv);
|
||||
|
||||
void
|
||||
fvalue_set(fvalue_t *fv, gpointer value, gboolean already_copied);
|
||||
fvalue_set_byte_array(fvalue_t *fv, GByteArray *value);
|
||||
|
||||
void
|
||||
fvalue_set_bytes(fvalue_t *fv, const guint8 *value);
|
||||
|
||||
void
|
||||
fvalue_set_guid(fvalue_t *fv, const e_guid_t *value);
|
||||
|
||||
void
|
||||
fvalue_set_time(fvalue_t *fv, const nstime_t *value);
|
||||
|
||||
void
|
||||
fvalue_set_string(fvalue_t *fv, const gchar *value);
|
||||
|
||||
void
|
||||
fvalue_set_tvbuff(fvalue_t *fv, tvbuff_t *value);
|
||||
|
||||
void
|
||||
fvalue_set_uinteger(fvalue_t *fv, guint32 value);
|
||||
|
|
51
epan/proto.c
51
epan/proto.c
|
@ -180,7 +180,7 @@ proto_tree_set_bytes(field_info *fi, const guint8* start_ptr, gint length);
|
|||
static void
|
||||
proto_tree_set_bytes_tvb(field_info *fi, tvbuff_t *tvb, gint offset, gint length);
|
||||
static void
|
||||
proto_tree_set_time(field_info *fi, nstime_t *value_ptr);
|
||||
proto_tree_set_time(field_info *fi, const nstime_t *value_ptr);
|
||||
static void
|
||||
proto_tree_set_string(field_info *fi, const char* value);
|
||||
static void
|
||||
|
@ -1990,7 +1990,7 @@ ptvcursor_advance(ptvcursor_t* ptvc, gint length)
|
|||
static void
|
||||
proto_tree_set_protocol_tvb(field_info *fi, tvbuff_t *tvb)
|
||||
{
|
||||
fvalue_set(&fi->value, tvb, TRUE);
|
||||
fvalue_set_tvbuff(&fi->value, tvb);
|
||||
}
|
||||
|
||||
/* Add a FT_PROTOCOL to a proto_tree */
|
||||
|
@ -2102,7 +2102,7 @@ proto_tree_set_bytes(field_info *fi, const guint8* start_ptr, gint length)
|
|||
if (length > 0) {
|
||||
g_byte_array_append(bytes, start_ptr, length);
|
||||
}
|
||||
fvalue_set(&fi->value, bytes, TRUE);
|
||||
fvalue_set_byte_array(&fi->value, bytes);
|
||||
}
|
||||
|
||||
|
||||
|
@ -2115,7 +2115,7 @@ proto_tree_set_bytes_tvb(field_info *fi, tvbuff_t *tvb, gint offset, gint length
|
|||
/* Add a FT_*TIME to a proto_tree */
|
||||
proto_item *
|
||||
proto_tree_add_time(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
|
||||
gint length, nstime_t *value_ptr)
|
||||
gint length, const nstime_t *value_ptr)
|
||||
{
|
||||
proto_item *pi;
|
||||
header_field_info *hfinfo;
|
||||
|
@ -2171,11 +2171,11 @@ proto_tree_add_time_format(proto_tree *tree, int hfindex, tvbuff_t *tvb,
|
|||
|
||||
/* Set the FT_*TIME value */
|
||||
static void
|
||||
proto_tree_set_time(field_info *fi, nstime_t *value_ptr)
|
||||
proto_tree_set_time(field_info *fi, const nstime_t *value_ptr)
|
||||
{
|
||||
DISSECTOR_ASSERT(value_ptr != NULL);
|
||||
|
||||
fvalue_set(&fi->value, value_ptr, FALSE);
|
||||
fvalue_set_time(&fi->value, value_ptr);
|
||||
}
|
||||
|
||||
/* Add a FT_IPXNET to a proto_tree */
|
||||
|
@ -2366,7 +2366,7 @@ static void
|
|||
proto_tree_set_ipv6(field_info *fi, const guint8* value_ptr)
|
||||
{
|
||||
DISSECTOR_ASSERT(value_ptr != NULL);
|
||||
fvalue_set(&fi->value, (gpointer) value_ptr, FALSE);
|
||||
fvalue_set_bytes(&fi->value, value_ptr);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2437,7 +2437,7 @@ static void
|
|||
proto_tree_set_guid(field_info *fi, const e_guid_t *value_ptr)
|
||||
{
|
||||
DISSECTOR_ASSERT(value_ptr != NULL);
|
||||
fvalue_set(&fi->value, (gpointer) value_ptr, FALSE);
|
||||
fvalue_set_guid(&fi->value, value_ptr);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2519,7 +2519,7 @@ proto_tree_set_oid(field_info *fi, const guint8* value_ptr, gint length)
|
|||
if (length > 0) {
|
||||
g_byte_array_append(bytes, value_ptr, length);
|
||||
}
|
||||
fvalue_set(&fi->value, bytes, TRUE);
|
||||
fvalue_set_byte_array(&fi->value, bytes);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2540,7 +2540,7 @@ proto_tree_set_system_id(field_info *fi, const guint8* value_ptr, gint length)
|
|||
if (length > 0) {
|
||||
g_byte_array_append(bytes, value_ptr, length);
|
||||
}
|
||||
fvalue_set(&fi->value, bytes, TRUE);
|
||||
fvalue_set_byte_array(&fi->value, bytes);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2769,7 +2769,7 @@ proto_item_append_string(proto_item *pi, const char *str)
|
|||
new_str = ep_strconcat(old_str, str, NULL);
|
||||
else
|
||||
new_str = str;
|
||||
fvalue_set(&fi->value, (gpointer) new_str, FALSE);
|
||||
fvalue_set_string(&fi->value, new_str);
|
||||
}
|
||||
|
||||
/* Set the FT_STRING value */
|
||||
|
@ -2777,9 +2777,9 @@ static void
|
|||
proto_tree_set_string(field_info *fi, const char* value)
|
||||
{
|
||||
if (value) {
|
||||
fvalue_set(&fi->value, (gpointer) value, FALSE);
|
||||
fvalue_set_string(&fi->value, value);
|
||||
} else {
|
||||
fvalue_set(&fi->value, (gpointer) "[ Null ]", FALSE);
|
||||
fvalue_set_string(&fi->value, "[ Null ]");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2819,7 +2819,7 @@ proto_tree_add_ax25(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gi
|
|||
static void
|
||||
proto_tree_set_ax25(field_info *fi, const guint8* value)
|
||||
{
|
||||
fvalue_set(&fi->value, (gpointer) value, FALSE);
|
||||
fvalue_set_bytes(&fi->value, value);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2832,7 +2832,7 @@ proto_tree_set_ax25_tvb(field_info *fi, tvbuff_t *tvb, gint start)
|
|||
static void
|
||||
proto_tree_set_vines(field_info *fi, const guint8* value)
|
||||
{
|
||||
fvalue_set(&fi->value, (gpointer) value, FALSE);
|
||||
fvalue_set_bytes(&fi->value, value);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2901,7 +2901,7 @@ proto_tree_add_ether_format(proto_tree *tree, int hfindex, tvbuff_t *tvb,
|
|||
static void
|
||||
proto_tree_set_ether(field_info *fi, const guint8* value)
|
||||
{
|
||||
fvalue_set(&fi->value, (gpointer) value, FALSE);
|
||||
fvalue_set_bytes(&fi->value, value);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -4379,7 +4379,7 @@ proto_item_add_subtree(proto_item *pi, const gint idx) {
|
|||
}
|
||||
|
||||
proto_tree *
|
||||
proto_item_get_subtree(const proto_item *pi) {
|
||||
proto_item_get_subtree(proto_item *pi) {
|
||||
field_info *fi;
|
||||
|
||||
if (!pi)
|
||||
|
@ -4411,7 +4411,7 @@ proto_item_get_parent_nth(proto_item *ti, int gen) {
|
|||
|
||||
|
||||
proto_item *
|
||||
proto_tree_get_parent(const proto_tree *tree) {
|
||||
proto_tree_get_parent(proto_tree *tree) {
|
||||
if (!tree)
|
||||
return NULL;
|
||||
return (proto_item *)tree;
|
||||
|
@ -4503,10 +4503,11 @@ int
|
|||
proto_register_protocol(const char *name, const char *short_name,
|
||||
const char *filter_name)
|
||||
{
|
||||
protocol_t *protocol, *existing_protocol = NULL;
|
||||
protocol_t *protocol;
|
||||
const protocol_t *existing_protocol = NULL;
|
||||
header_field_info *hfinfo;
|
||||
int proto_id;
|
||||
char *existing_name;
|
||||
const char *existing_name;
|
||||
gint *key;
|
||||
guint i;
|
||||
guchar c;
|
||||
|
@ -4531,7 +4532,7 @@ proto_register_protocol(const char *name, const char *short_name,
|
|||
key = (gint *)g_malloc (sizeof(gint));
|
||||
*key = wrs_str_hash(name);
|
||||
|
||||
existing_name = (char *)g_hash_table_lookup(proto_names, key);
|
||||
existing_name = (const char *)g_hash_table_lookup(proto_names, key);
|
||||
if (existing_name != NULL) {
|
||||
/* g_error will terminate the program */
|
||||
g_error("Duplicate protocol name \"%s\"!"
|
||||
|
@ -4539,7 +4540,7 @@ proto_register_protocol(const char *name, const char *short_name,
|
|||
}
|
||||
g_hash_table_insert(proto_names, key, (gpointer)name);
|
||||
|
||||
existing_name = (char *)g_hash_table_lookup(proto_short_names, (gpointer)short_name);
|
||||
existing_name = (const char *)g_hash_table_lookup(proto_short_names, (gpointer)short_name);
|
||||
if (existing_name != NULL) {
|
||||
g_error("Duplicate protocol short_name \"%s\"!"
|
||||
" This might be caused by an inappropriate plugin or a development error.", short_name);
|
||||
|
@ -4558,7 +4559,7 @@ proto_register_protocol(const char *name, const char *short_name,
|
|||
" Allowed are lower characters, digits, '-', '_' and '.'."
|
||||
" This might be caused by an inappropriate plugin or a development error.", filter_name);
|
||||
}
|
||||
existing_protocol = (protocol_t *)g_hash_table_lookup(proto_filter_names, (gpointer)filter_name);
|
||||
existing_protocol = (const protocol_t *)g_hash_table_lookup(proto_filter_names, (gpointer)filter_name);
|
||||
if (existing_protocol != NULL) {
|
||||
g_error("Duplicate protocol filter_name \"%s\"!"
|
||||
" This might be caused by an inappropriate plugin or a development error.", filter_name);
|
||||
|
@ -4701,14 +4702,14 @@ proto_get_id(const protocol_t *protocol)
|
|||
|
||||
int proto_get_id_by_filter_name(const gchar* filter_name)
|
||||
{
|
||||
protocol_t *protocol = NULL;
|
||||
const protocol_t *protocol = NULL;
|
||||
|
||||
if(!filter_name){
|
||||
fprintf(stderr, "No filter name present");
|
||||
DISSECTOR_ASSERT(filter_name);
|
||||
}
|
||||
|
||||
protocol = (protocol_t *)g_hash_table_lookup(proto_filter_names, (gpointer)filter_name);
|
||||
protocol = (const protocol_t *)g_hash_table_lookup(proto_filter_names, (gpointer)filter_name);
|
||||
|
||||
if (protocol == NULL)
|
||||
return -1;
|
||||
|
|
|
@ -659,7 +659,7 @@ WS_DLL_PUBLIC proto_tree* proto_item_add_subtree(proto_item *ti, const gint idx)
|
|||
/** Get an existing subtree under an item.
|
||||
@param ti the parent item of the subtree
|
||||
@return the subtree or NULL */
|
||||
WS_DLL_PUBLIC proto_tree* proto_item_get_subtree(const proto_item *ti);
|
||||
WS_DLL_PUBLIC proto_tree* proto_item_get_subtree(proto_item *ti);
|
||||
|
||||
/** Get the parent of a subtree item.
|
||||
@param ti the child item in the subtree
|
||||
|
@ -754,7 +754,7 @@ proto_tree_prime_hfid(proto_tree *tree, const int hfid);
|
|||
/** Get a parent item of a subtree.
|
||||
@param tree the tree to get the parent from
|
||||
@return parent item */
|
||||
WS_DLL_PUBLIC proto_item* proto_tree_get_parent(const proto_tree *tree);
|
||||
WS_DLL_PUBLIC proto_item* proto_tree_get_parent(proto_tree *tree);
|
||||
|
||||
/** Get the root tree from any subtree.
|
||||
@param tree the tree to get the root from
|
||||
|
@ -901,7 +901,7 @@ proto_tree_add_bytes_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint s
|
|||
@return the newly created item */
|
||||
WS_DLL_PUBLIC proto_item *
|
||||
proto_tree_add_time(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
|
||||
gint length, nstime_t* value_ptr);
|
||||
gint length, const nstime_t* value_ptr);
|
||||
|
||||
/** Add a formatted FT_ABSOLUTE_TIME or FT_RELATIVE_TIME to a proto_tree, with
|
||||
the format generating the string for the value and with the field name
|
||||
|
|
Loading…
Reference in New Issue