epan/dfilter/*.c: As needed: Add editor modelines & Fix indentation
Change-Id: I410839329a98bd806c60961dfb9693d5eeeeb702 Reviewed-on: https://code.wireshark.org/review/7104 Reviewed-by: Bill Meier <wmeier@newsguy.com>
This commit is contained in:
parent
6040bcd5f8
commit
3e3fc9fc5e
|
@ -541,7 +541,7 @@ static void* macro_copy(void* dest, const void* orig, size_t len _U_) {
|
|||
* Then we loop copying bytes from m->priv into
|
||||
* d-priv. Since m->priv contains internal ACSII NULs
|
||||
* we use the length of m->text to stop the copy.
|
||||
*/
|
||||
*/
|
||||
|
||||
d->priv = g_strdup(m->text);
|
||||
{
|
||||
|
@ -565,7 +565,7 @@ static void* macro_copy(void* dest, const void* orig, size_t len _U_) {
|
|||
* array into d->parts but then fixes-up the pointers
|
||||
* so that they point into the appropriate sections
|
||||
* of the d->priv.
|
||||
*/
|
||||
*/
|
||||
|
||||
do nparts++; while (m->parts[nparts]);
|
||||
d->parts = (gchar **)g_memdup(m->parts,(nparts+1)*(guint)sizeof(void*));
|
||||
|
@ -737,3 +737,15 @@ void dump_dfilter_macro_t(const dfilter_macro_t *m, const char *function, const
|
|||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
* Local variables:
|
||||
* c-basic-offset: 8
|
||||
* tab-width: 8
|
||||
* indent-tabs-mode: t
|
||||
* End:
|
||||
*
|
||||
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
|
||||
* :indentSize=8:tabSize=8:noTabs=false:
|
||||
*/
|
||||
|
|
|
@ -407,11 +407,11 @@ dfilter_apply_edt(dfilter_t *df, epan_dissect_t* edt)
|
|||
void
|
||||
dfilter_prime_proto_tree(const dfilter_t *df, proto_tree *tree)
|
||||
{
|
||||
int i;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < df->num_interesting_fields; i++) {
|
||||
proto_tree_prime_hfid(tree, df->interesting_fields[i]);
|
||||
}
|
||||
for (i = 0; i < df->num_interesting_fields; i++) {
|
||||
proto_tree_prime_hfid(tree, df->interesting_fields[i]);
|
||||
}
|
||||
}
|
||||
|
||||
GPtrArray *
|
||||
|
@ -439,3 +439,16 @@ dfilter_dump(dfilter_t *df)
|
|||
printf("\n");
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
* Local variables:
|
||||
* c-basic-offset: 8
|
||||
* tab-width: 8
|
||||
* indent-tabs-mode: t
|
||||
* End:
|
||||
*
|
||||
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
|
||||
* :indentSize=8:tabSize=8:noTabs=false:
|
||||
*/
|
||||
|
|
|
@ -55,7 +55,7 @@ string_walk(GList* arg1list, GList **retval, gchar(*conv_func)(gchar))
|
|||
fvalue_set_string(new_ft_string, s);
|
||||
wmem_free(NULL, s);
|
||||
*retval = g_list_append(*retval, new_ft_string);
|
||||
}
|
||||
}
|
||||
arg1 = arg1->next;
|
||||
}
|
||||
|
||||
|
@ -196,8 +196,8 @@ static df_func_def_t
|
|||
df_functions[] = {
|
||||
{ "lower", df_func_lower, FT_STRING, 1, 1, ul_semcheck_params },
|
||||
{ "upper", df_func_upper, FT_STRING, 1, 1, ul_semcheck_params },
|
||||
{ "len", df_func_len, FT_UINT32, 1, 1, ul_semcheck_params },
|
||||
{ "size", df_func_size, FT_UINT32, 1, 1, ul_semcheck_field_param },
|
||||
{ "len", df_func_len, FT_UINT32, 1, 1, ul_semcheck_params },
|
||||
{ "size", df_func_size, FT_UINT32, 1, 1, ul_semcheck_field_param },
|
||||
{ "count", df_func_count, FT_UINT32, 1, 1, ul_semcheck_field_param },
|
||||
{ NULL, NULL, FT_NONE, 0, 0, NULL }
|
||||
};
|
||||
|
@ -217,3 +217,16 @@ df_func_lookup(char *name)
|
|||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
* Local variables:
|
||||
* c-basic-offset: 4
|
||||
* tab-width: 8
|
||||
* indent-tabs-mode: nil
|
||||
* End:
|
||||
*
|
||||
* vi: set shiftwidth=4 tabstop=8 expandtab:
|
||||
* :indentSize=4:tabSize=8:noTabs=true:
|
||||
*/
|
||||
|
|
|
@ -98,8 +98,8 @@ dfvm_dump(FILE *f, dfilter_t *df)
|
|||
GSList *range_list;
|
||||
drange_node *range_item;
|
||||
|
||||
/* First dump the constant initializations */
|
||||
fprintf(f, "Constants:\n");
|
||||
/* First dump the constant initializations */
|
||||
fprintf(f, "Constants:\n");
|
||||
length = df->consts->len;
|
||||
for (id = 0; id < length; id++) {
|
||||
|
||||
|
@ -140,8 +140,8 @@ dfvm_dump(FILE *f, dfilter_t *df)
|
|||
}
|
||||
}
|
||||
|
||||
fprintf(f, "\nInstructions:\n");
|
||||
/* Now dump the operations */
|
||||
fprintf(f, "\nInstructions:\n");
|
||||
/* Now dump the operations */
|
||||
length = df->insns->len;
|
||||
for (id = 0; id < length; id++) {
|
||||
|
||||
|
@ -176,8 +176,8 @@ dfvm_dump(FILE *f, dfilter_t *df)
|
|||
break;
|
||||
|
||||
case PUT_FVALUE:
|
||||
/* We already dumped these */
|
||||
g_assert_not_reached();
|
||||
/* We already dumped these */
|
||||
g_assert_not_reached();
|
||||
break;
|
||||
|
||||
case MK_RANGE:
|
||||
|
@ -551,7 +551,7 @@ dfvm_apply(dfilter_t *df, proto_tree *tree)
|
|||
|
||||
case PUT_FVALUE:
|
||||
#if 0
|
||||
/* These were handled in the constants initialization */
|
||||
/* These were handled in the constants initialization */
|
||||
accum = put_fvalue(df,
|
||||
arg1->value.fvalue, arg2->value.numeric);
|
||||
break;
|
||||
|
@ -613,3 +613,16 @@ dfvm_init_const(dfilter_t *df)
|
|||
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
* Local variables:
|
||||
* c-basic-offset: 8
|
||||
* tab-width: 8
|
||||
* indent-tabs-mode: t
|
||||
* End:
|
||||
*
|
||||
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
|
||||
* :indentSize=8:tabSize=8:noTabs=false:
|
||||
*/
|
||||
|
|
|
@ -29,171 +29,171 @@
|
|||
drange_node*
|
||||
drange_node_new(void)
|
||||
{
|
||||
drange_node* new_range_node;
|
||||
drange_node* new_range_node;
|
||||
|
||||
new_range_node = g_new(drange_node,1);
|
||||
new_range_node->start_offset = 0;
|
||||
new_range_node->length = 0;
|
||||
new_range_node->end_offset = 0;
|
||||
new_range_node->ending = DRANGE_NODE_END_T_UNINITIALIZED;
|
||||
return new_range_node;
|
||||
new_range_node = g_new(drange_node,1);
|
||||
new_range_node->start_offset = 0;
|
||||
new_range_node->length = 0;
|
||||
new_range_node->end_offset = 0;
|
||||
new_range_node->ending = DRANGE_NODE_END_T_UNINITIALIZED;
|
||||
return new_range_node;
|
||||
}
|
||||
|
||||
static drange_node*
|
||||
drange_node_dup(drange_node *org)
|
||||
{
|
||||
drange_node *new_range_node;
|
||||
drange_node *new_range_node;
|
||||
|
||||
if (!org)
|
||||
return NULL;
|
||||
if (!org)
|
||||
return NULL;
|
||||
|
||||
new_range_node = g_new(drange_node,1);
|
||||
new_range_node->start_offset = org->start_offset;
|
||||
new_range_node->length = org->length;
|
||||
new_range_node->end_offset = org->end_offset;
|
||||
new_range_node->ending = org->ending;
|
||||
return new_range_node;
|
||||
new_range_node = g_new(drange_node,1);
|
||||
new_range_node->start_offset = org->start_offset;
|
||||
new_range_node->length = org->length;
|
||||
new_range_node->end_offset = org->end_offset;
|
||||
new_range_node->ending = org->ending;
|
||||
return new_range_node;
|
||||
}
|
||||
|
||||
/* drange_node destructor */
|
||||
void
|
||||
drange_node_free(drange_node* drnode)
|
||||
{
|
||||
g_free(drnode);
|
||||
g_free(drnode);
|
||||
}
|
||||
|
||||
/* drange_node accessors */
|
||||
gint
|
||||
drange_node_get_start_offset(drange_node* drnode)
|
||||
{
|
||||
g_assert(drnode->ending != DRANGE_NODE_END_T_UNINITIALIZED);
|
||||
return drnode->start_offset;
|
||||
g_assert(drnode->ending != DRANGE_NODE_END_T_UNINITIALIZED);
|
||||
return drnode->start_offset;
|
||||
}
|
||||
|
||||
gint
|
||||
drange_node_get_length(drange_node* drnode)
|
||||
{
|
||||
g_assert(drnode->ending == DRANGE_NODE_END_T_LENGTH);
|
||||
return drnode->length;
|
||||
g_assert(drnode->ending == DRANGE_NODE_END_T_LENGTH);
|
||||
return drnode->length;
|
||||
}
|
||||
|
||||
gint
|
||||
drange_node_get_end_offset(drange_node* drnode)
|
||||
{
|
||||
g_assert(drnode->ending == DRANGE_NODE_END_T_OFFSET);
|
||||
return drnode->end_offset;
|
||||
g_assert(drnode->ending == DRANGE_NODE_END_T_OFFSET);
|
||||
return drnode->end_offset;
|
||||
}
|
||||
|
||||
drange_node_end_t
|
||||
drange_node_get_ending(drange_node* drnode)
|
||||
{
|
||||
g_assert(drnode->ending != DRANGE_NODE_END_T_UNINITIALIZED);
|
||||
return drnode->ending;
|
||||
g_assert(drnode->ending != DRANGE_NODE_END_T_UNINITIALIZED);
|
||||
return drnode->ending;
|
||||
}
|
||||
|
||||
/* drange_node mutators */
|
||||
void
|
||||
drange_node_set_start_offset(drange_node* drnode, gint offset)
|
||||
{
|
||||
drnode->start_offset = offset;
|
||||
drnode->start_offset = offset;
|
||||
}
|
||||
|
||||
void
|
||||
drange_node_set_length(drange_node* drnode, gint length)
|
||||
{
|
||||
drnode->length = length;
|
||||
drnode->ending = DRANGE_NODE_END_T_LENGTH;
|
||||
drnode->length = length;
|
||||
drnode->ending = DRANGE_NODE_END_T_LENGTH;
|
||||
}
|
||||
|
||||
void
|
||||
drange_node_set_end_offset(drange_node* drnode, gint offset)
|
||||
{
|
||||
drnode->end_offset = offset;
|
||||
drnode->ending = DRANGE_NODE_END_T_OFFSET;
|
||||
drnode->end_offset = offset;
|
||||
drnode->ending = DRANGE_NODE_END_T_OFFSET;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
drange_node_set_to_the_end(drange_node* drnode)
|
||||
{
|
||||
drnode->ending = DRANGE_NODE_END_T_TO_THE_END;
|
||||
drnode->ending = DRANGE_NODE_END_T_TO_THE_END;
|
||||
}
|
||||
|
||||
/* drange constructor */
|
||||
drange_t *
|
||||
drange_new(void)
|
||||
{
|
||||
drange_t * new_drange;
|
||||
new_drange = g_new(drange_t,1);
|
||||
new_drange->range_list = NULL;
|
||||
new_drange->has_total_length = TRUE;
|
||||
new_drange->total_length = 0;
|
||||
new_drange->min_start_offset = G_MAXINT;
|
||||
new_drange->max_start_offset = G_MININT;
|
||||
return new_drange;
|
||||
drange_t * new_drange;
|
||||
new_drange = g_new(drange_t,1);
|
||||
new_drange->range_list = NULL;
|
||||
new_drange->has_total_length = TRUE;
|
||||
new_drange->total_length = 0;
|
||||
new_drange->min_start_offset = G_MAXINT;
|
||||
new_drange->max_start_offset = G_MININT;
|
||||
return new_drange;
|
||||
}
|
||||
|
||||
static void
|
||||
drange_append_wrapper(gpointer data, gpointer user_data)
|
||||
{
|
||||
drange_node *drnode = (drange_node *)data;
|
||||
drange_t *dr = (drange_t *)user_data;
|
||||
drange_node *drnode = (drange_node *)data;
|
||||
drange_t *dr = (drange_t *)user_data;
|
||||
|
||||
drange_append_drange_node(dr, drnode);
|
||||
drange_append_drange_node(dr, drnode);
|
||||
}
|
||||
|
||||
drange_t *
|
||||
drange_new_from_list(GSList *list)
|
||||
{
|
||||
drange_t *new_drange;
|
||||
drange_t *new_drange;
|
||||
|
||||
new_drange = drange_new();
|
||||
g_slist_foreach(list, drange_append_wrapper, new_drange);
|
||||
return new_drange;
|
||||
new_drange = drange_new();
|
||||
g_slist_foreach(list, drange_append_wrapper, new_drange);
|
||||
return new_drange;
|
||||
}
|
||||
|
||||
drange_t *
|
||||
drange_dup(drange_t *org)
|
||||
{
|
||||
drange_t *new_drange;
|
||||
GSList *p;
|
||||
drange_t *new_drange;
|
||||
GSList *p;
|
||||
|
||||
if (!org)
|
||||
return NULL;
|
||||
if (!org)
|
||||
return NULL;
|
||||
|
||||
new_drange = drange_new();
|
||||
for (p = org->range_list; p; p = p->next) {
|
||||
drange_node *drnode = (drange_node *)p->data;
|
||||
drange_append_drange_node(new_drange, drange_node_dup(drnode));
|
||||
}
|
||||
return new_drange;
|
||||
new_drange = drange_new();
|
||||
for (p = org->range_list; p; p = p->next) {
|
||||
drange_node *drnode = (drange_node *)p->data;
|
||||
drange_append_drange_node(new_drange, drange_node_dup(drnode));
|
||||
}
|
||||
return new_drange;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
drange_node_free_wrapper(gpointer data, gpointer userdata _U_)
|
||||
{
|
||||
g_free(data);
|
||||
g_free(data);
|
||||
}
|
||||
|
||||
/* drange destructor */
|
||||
void
|
||||
drange_free(drange_t * dr)
|
||||
{
|
||||
drange_node_free_list(dr->range_list);
|
||||
g_free(dr);
|
||||
drange_node_free_list(dr->range_list);
|
||||
g_free(dr);
|
||||
}
|
||||
|
||||
/* Call drange_node destructor on all list items */
|
||||
void
|
||||
drange_node_free_list(GSList* list)
|
||||
{
|
||||
g_slist_foreach(list, drange_node_free_wrapper, NULL);
|
||||
g_slist_foreach(list, drange_node_free_wrapper, NULL);
|
||||
}
|
||||
|
||||
/* drange accessors */
|
||||
gboolean drange_has_total_length(drange_t * dr){ return dr->has_total_length; }
|
||||
gint drange_get_total_length(drange_t * dr) { return dr->total_length; }
|
||||
gboolean drange_has_total_length(drange_t * dr) { return dr->has_total_length; }
|
||||
gint drange_get_total_length(drange_t * dr) { return dr->total_length; }
|
||||
gint drange_get_min_start_offset(drange_t * dr) { return dr->min_start_offset; }
|
||||
gint drange_get_max_start_offset(drange_t * dr) { return dr->max_start_offset; }
|
||||
|
||||
|
@ -201,16 +201,16 @@ static void
|
|||
update_drange_with_node(drange_t *dr, drange_node *drnode)
|
||||
{
|
||||
if(drnode->ending == DRANGE_NODE_END_T_TO_THE_END){
|
||||
dr->has_total_length = FALSE;
|
||||
dr->has_total_length = FALSE;
|
||||
}
|
||||
else if(dr->has_total_length){
|
||||
dr->total_length += drnode->length;
|
||||
dr->total_length += drnode->length;
|
||||
}
|
||||
if(drnode->start_offset < dr->min_start_offset){
|
||||
dr->min_start_offset = drnode->start_offset;
|
||||
dr->min_start_offset = drnode->start_offset;
|
||||
}
|
||||
if(drnode->start_offset > dr->max_start_offset){
|
||||
dr->max_start_offset = drnode->start_offset;
|
||||
dr->max_start_offset = drnode->start_offset;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -218,23 +218,36 @@ update_drange_with_node(drange_t *dr, drange_node *drnode)
|
|||
void
|
||||
drange_prepend_drange_node(drange_t * dr, drange_node* drnode)
|
||||
{
|
||||
if(drnode != NULL){
|
||||
dr->range_list = g_slist_prepend(dr->range_list,drnode);
|
||||
update_drange_with_node(dr, drnode);
|
||||
}
|
||||
if(drnode != NULL){
|
||||
dr->range_list = g_slist_prepend(dr->range_list,drnode);
|
||||
update_drange_with_node(dr, drnode);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
drange_append_drange_node(drange_t * dr, drange_node* drnode)
|
||||
{
|
||||
if(drnode != NULL){
|
||||
dr->range_list = g_slist_append(dr->range_list,drnode);
|
||||
update_drange_with_node(dr, drnode);
|
||||
}
|
||||
if(drnode != NULL){
|
||||
dr->range_list = g_slist_append(dr->range_list,drnode);
|
||||
update_drange_with_node(dr, drnode);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
drange_foreach_drange_node(drange_t * dr, GFunc func, gpointer funcdata)
|
||||
{
|
||||
g_slist_foreach(dr->range_list,func,funcdata);
|
||||
g_slist_foreach(dr->range_list,func,funcdata);
|
||||
}
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
* Local variables:
|
||||
* c-basic-offset: 4
|
||||
* tab-width: 8
|
||||
* indent-tabs-mode: nil
|
||||
* End:
|
||||
*
|
||||
* vi: set shiftwidth=4 tabstop=8 expandtab:
|
||||
* :indentSize=4:tabSize=8:noTabs=true:
|
||||
*/
|
||||
|
|
|
@ -891,7 +891,7 @@ check_relation_LHS_RANGE(dfwork_t *dfw, const char *relation_string,
|
|||
ftenum_t ftype1, ftype2;
|
||||
fvalue_t *fvalue;
|
||||
char *s;
|
||||
int len_range;
|
||||
int len_range;
|
||||
|
||||
DebugLog((" 5 check_relation_LHS_RANGE(%s)\n", relation_string));
|
||||
|
||||
|
@ -965,33 +965,33 @@ check_relation_LHS_RANGE(dfwork_t *dfw, const char *relation_string,
|
|||
else if (type2 == STTYPE_UNPARSED) {
|
||||
DebugLog((" 5 check_relation_LHS_RANGE(type2 = STTYPE_UNPARSED)\n"));
|
||||
s = (char*)stnode_data(st_arg2);
|
||||
len_range = drange_get_total_length(sttype_range_drange(st_arg1));
|
||||
len_range = drange_get_total_length(sttype_range_drange(st_arg1));
|
||||
if (strcmp(relation_string, "matches") == 0) {
|
||||
/* Convert to a FT_PCRE */
|
||||
fvalue = dfilter_fvalue_from_unparsed(dfw, FT_PCRE, s, FALSE);
|
||||
}
|
||||
|
||||
/* The RHS should be FT_BYTES. However, there is a special case where
|
||||
* the range slice on the LHS is one byte long. In that case, it is natural
|
||||
* for the user to specify a normal hex integer on the RHS, with the "0x"
|
||||
* notation, as in "slice[0] == 0x10". We can't allow this for any
|
||||
* slices that are longer than one byte, because then we'd have to know
|
||||
* which endianness the byte string should be in. */
|
||||
else if (len_range == 1 && strlen(s) == 4 && strncmp(s, "0x", 2) == 0) {
|
||||
/* Even if the RHS string starts with "0x", it still could fail to
|
||||
* be an integer. Try converting it here. */
|
||||
fvalue = dfilter_fvalue_from_unparsed(dfw, FT_UINT8, s, allow_partial_value);
|
||||
if (fvalue) {
|
||||
FVALUE_FREE(fvalue);
|
||||
/* The value doees indeed fit into 8 bits. Create a BYTE_STRING
|
||||
* from it. Since we know that the last 2 characters are a valid
|
||||
* hex string, just use those directly. */
|
||||
fvalue = dfilter_fvalue_from_unparsed(dfw, FT_BYTES, s+2, allow_partial_value);
|
||||
}
|
||||
}
|
||||
else {
|
||||
fvalue = dfilter_fvalue_from_unparsed(dfw, FT_BYTES, s, allow_partial_value);
|
||||
}
|
||||
/* The RHS should be FT_BYTES. However, there is a special case where
|
||||
* the range slice on the LHS is one byte long. In that case, it is natural
|
||||
* for the user to specify a normal hex integer on the RHS, with the "0x"
|
||||
* notation, as in "slice[0] == 0x10". We can't allow this for any
|
||||
* slices that are longer than one byte, because then we'd have to know
|
||||
* which endianness the byte string should be in. */
|
||||
else if (len_range == 1 && strlen(s) == 4 && strncmp(s, "0x", 2) == 0) {
|
||||
/* Even if the RHS string starts with "0x", it still could fail to
|
||||
* be an integer. Try converting it here. */
|
||||
fvalue = dfilter_fvalue_from_unparsed(dfw, FT_UINT8, s, allow_partial_value);
|
||||
if (fvalue) {
|
||||
FVALUE_FREE(fvalue);
|
||||
/* The value doees indeed fit into 8 bits. Create a BYTE_STRING
|
||||
* from it. Since we know that the last 2 characters are a valid
|
||||
* hex string, just use those directly. */
|
||||
fvalue = dfilter_fvalue_from_unparsed(dfw, FT_BYTES, s+2, allow_partial_value);
|
||||
}
|
||||
}
|
||||
else {
|
||||
fvalue = dfilter_fvalue_from_unparsed(dfw, FT_BYTES, s, allow_partial_value);
|
||||
}
|
||||
if (!fvalue) {
|
||||
DebugLog((" 5 check_relation_LHS_RANGE(type2 = STTYPE_UNPARSED): Could not convert from string!\n"));
|
||||
THROW(TypeError);
|
||||
|
@ -1369,3 +1369,16 @@ dfw_semcheck(dfwork_t *dfw, GPtrArray *deprecated)
|
|||
dfw, i++,ok_filter));
|
||||
return ok_filter;
|
||||
}
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
* Local variables:
|
||||
* c-basic-offset: 8
|
||||
* tab-width: 8
|
||||
* indent-tabs-mode: t
|
||||
* End:
|
||||
*
|
||||
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
|
||||
* :indentSize=8:tabSize=8:noTabs=false:
|
||||
*/
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
|
||||
typedef struct {
|
||||
guint32 magic;
|
||||
df_func_def_t *funcdef;
|
||||
GSList *params;
|
||||
df_func_def_t *funcdef;
|
||||
GSList *params;
|
||||
} function_t;
|
||||
|
||||
#define FUNCTION_MAGIC 0xe10f0f99
|
||||
|
@ -66,14 +66,14 @@ function_dup(gconstpointer data)
|
|||
static void
|
||||
slist_stnode_free(gpointer data, gpointer user_data _U_)
|
||||
{
|
||||
stnode_free((stnode_t *)data);
|
||||
stnode_free((stnode_t *)data);
|
||||
}
|
||||
|
||||
void
|
||||
st_funcparams_free(GSList *params)
|
||||
{
|
||||
g_slist_foreach(params, slist_stnode_free, NULL);
|
||||
g_slist_free(params);
|
||||
g_slist_foreach(params, slist_stnode_free, NULL);
|
||||
g_slist_free(params);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -81,7 +81,7 @@ function_free(gpointer value)
|
|||
{
|
||||
function_t *stfuncrec = (function_t*)value;
|
||||
assert_magic(stfuncrec, FUNCTION_MAGIC);
|
||||
st_funcparams_free(stfuncrec->params);
|
||||
st_funcparams_free(stfuncrec->params);
|
||||
g_free(stfuncrec);
|
||||
}
|
||||
|
||||
|
@ -107,7 +107,7 @@ sttype_function_funcdef(stnode_t *node)
|
|||
|
||||
stfuncrec = (function_t*)stnode_data(node);
|
||||
assert_magic(stfuncrec, FUNCTION_MAGIC);
|
||||
return stfuncrec->funcdef;
|
||||
return stfuncrec->funcdef;
|
||||
}
|
||||
|
||||
/* Get the parameters for a function stnode_t. */
|
||||
|
@ -118,7 +118,7 @@ sttype_function_params(stnode_t *node)
|
|||
|
||||
stfuncrec = (function_t*)stnode_data(node);
|
||||
assert_magic(stfuncrec, FUNCTION_MAGIC);
|
||||
return stfuncrec->params;
|
||||
return stfuncrec->params;
|
||||
}
|
||||
|
||||
|
||||
|
@ -136,3 +136,15 @@ sttype_register_function(void)
|
|||
sttype_register(&function_type);
|
||||
}
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
* Local variables:
|
||||
* c-basic-offset: 8
|
||||
* tab-width: 8
|
||||
* indent-tabs-mode: t
|
||||
* End:
|
||||
*
|
||||
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
|
||||
* :indentSize=8:tabSize=8:noTabs=false:
|
||||
*/
|
||||
|
|
|
@ -37,3 +37,16 @@ sttype_register_integer(void)
|
|||
|
||||
sttype_register(&integer_type);
|
||||
}
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
* Local variables:
|
||||
* c-basic-offset: 8
|
||||
* tab-width: 8
|
||||
* indent-tabs-mode: t
|
||||
* End:
|
||||
*
|
||||
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
|
||||
* :indentSize=8:tabSize=8:noTabs=false:
|
||||
*/
|
||||
|
|
|
@ -45,3 +45,16 @@ sttype_register_pointer(void)
|
|||
sttype_register(&field_type);
|
||||
sttype_register(&fvalue_type);
|
||||
}
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
* Local variables:
|
||||
* c-basic-offset: 8
|
||||
* tab-width: 8
|
||||
* indent-tabs-mode: t
|
||||
* End:
|
||||
*
|
||||
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
|
||||
* :indentSize=8:tabSize=8:noTabs=false:
|
||||
*/
|
||||
|
|
|
@ -132,3 +132,16 @@ sttype_register_range(void)
|
|||
|
||||
sttype_register(&range_type);
|
||||
}
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
* Local variables:
|
||||
* c-basic-offset: 8
|
||||
* tab-width: 8
|
||||
* indent-tabs-mode: t
|
||||
* End:
|
||||
*
|
||||
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
|
||||
* :indentSize=8:tabSize=8:noTabs=false:
|
||||
*/
|
||||
|
|
|
@ -62,3 +62,16 @@ sttype_register_string(void)
|
|||
sttype_register(&string_type);
|
||||
sttype_register(&unparsed_type);
|
||||
}
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
* Local variables:
|
||||
* c-basic-offset: 8
|
||||
* tab-width: 8
|
||||
* indent-tabs-mode: t
|
||||
* End:
|
||||
*
|
||||
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
|
||||
* :indentSize=8:tabSize=8:noTabs=false:
|
||||
*/
|
||||
|
|
|
@ -174,3 +174,16 @@ sttype_register_test(void)
|
|||
|
||||
sttype_register(&test_type);
|
||||
}
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
* Local variables:
|
||||
* c-basic-offset: 8
|
||||
* tab-width: 8
|
||||
* indent-tabs-mode: t
|
||||
* End:
|
||||
*
|
||||
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
|
||||
* :indentSize=8:tabSize=8:noTabs=false:
|
||||
*/
|
||||
|
|
|
@ -226,3 +226,16 @@ stnode_deprecated(stnode_t *node)
|
|||
}
|
||||
return node->deprecated_token;
|
||||
}
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
* Local variables:
|
||||
* c-basic-offset: 8
|
||||
* tab-width: 8
|
||||
* indent-tabs-mode: t
|
||||
* End:
|
||||
*
|
||||
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
|
||||
* :indentSize=8:tabSize=8:noTabs=false:
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue