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
|
* Then we loop copying bytes from m->priv into
|
||||||
* d-priv. Since m->priv contains internal ACSII NULs
|
* d-priv. Since m->priv contains internal ACSII NULs
|
||||||
* we use the length of m->text to stop the copy.
|
* we use the length of m->text to stop the copy.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
d->priv = g_strdup(m->text);
|
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
|
* array into d->parts but then fixes-up the pointers
|
||||||
* so that they point into the appropriate sections
|
* so that they point into the appropriate sections
|
||||||
* of the d->priv.
|
* of the d->priv.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
do nparts++; while (m->parts[nparts]);
|
do nparts++; while (m->parts[nparts]);
|
||||||
d->parts = (gchar **)g_memdup(m->parts,(nparts+1)*(guint)sizeof(void*));
|
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
|
#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
|
void
|
||||||
dfilter_prime_proto_tree(const dfilter_t *df, proto_tree *tree)
|
dfilter_prime_proto_tree(const dfilter_t *df, proto_tree *tree)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < df->num_interesting_fields; i++) {
|
for (i = 0; i < df->num_interesting_fields; i++) {
|
||||||
proto_tree_prime_hfid(tree, df->interesting_fields[i]);
|
proto_tree_prime_hfid(tree, df->interesting_fields[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GPtrArray *
|
GPtrArray *
|
||||||
|
@ -439,3 +439,16 @@ dfilter_dump(dfilter_t *df)
|
||||||
printf("\n");
|
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);
|
fvalue_set_string(new_ft_string, s);
|
||||||
wmem_free(NULL, s);
|
wmem_free(NULL, s);
|
||||||
*retval = g_list_append(*retval, new_ft_string);
|
*retval = g_list_append(*retval, new_ft_string);
|
||||||
}
|
}
|
||||||
arg1 = arg1->next;
|
arg1 = arg1->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -196,8 +196,8 @@ static df_func_def_t
|
||||||
df_functions[] = {
|
df_functions[] = {
|
||||||
{ "lower", df_func_lower, FT_STRING, 1, 1, ul_semcheck_params },
|
{ "lower", df_func_lower, FT_STRING, 1, 1, ul_semcheck_params },
|
||||||
{ "upper", df_func_upper, 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 },
|
{ "len", df_func_len, FT_UINT32, 1, 1, ul_semcheck_params },
|
||||||
{ "size", df_func_size, FT_UINT32, 1, 1, ul_semcheck_field_param },
|
{ "size", df_func_size, FT_UINT32, 1, 1, ul_semcheck_field_param },
|
||||||
{ "count", df_func_count, 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 }
|
{ NULL, NULL, FT_NONE, 0, 0, NULL }
|
||||||
};
|
};
|
||||||
|
@ -217,3 +217,16 @@ df_func_lookup(char *name)
|
||||||
}
|
}
|
||||||
return NULL;
|
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;
|
GSList *range_list;
|
||||||
drange_node *range_item;
|
drange_node *range_item;
|
||||||
|
|
||||||
/* First dump the constant initializations */
|
/* First dump the constant initializations */
|
||||||
fprintf(f, "Constants:\n");
|
fprintf(f, "Constants:\n");
|
||||||
length = df->consts->len;
|
length = df->consts->len;
|
||||||
for (id = 0; id < length; id++) {
|
for (id = 0; id < length; id++) {
|
||||||
|
|
||||||
|
@ -140,8 +140,8 @@ dfvm_dump(FILE *f, dfilter_t *df)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(f, "\nInstructions:\n");
|
fprintf(f, "\nInstructions:\n");
|
||||||
/* Now dump the operations */
|
/* Now dump the operations */
|
||||||
length = df->insns->len;
|
length = df->insns->len;
|
||||||
for (id = 0; id < length; id++) {
|
for (id = 0; id < length; id++) {
|
||||||
|
|
||||||
|
@ -176,8 +176,8 @@ dfvm_dump(FILE *f, dfilter_t *df)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PUT_FVALUE:
|
case PUT_FVALUE:
|
||||||
/* We already dumped these */
|
/* We already dumped these */
|
||||||
g_assert_not_reached();
|
g_assert_not_reached();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MK_RANGE:
|
case MK_RANGE:
|
||||||
|
@ -551,7 +551,7 @@ dfvm_apply(dfilter_t *df, proto_tree *tree)
|
||||||
|
|
||||||
case PUT_FVALUE:
|
case PUT_FVALUE:
|
||||||
#if 0
|
#if 0
|
||||||
/* These were handled in the constants initialization */
|
/* These were handled in the constants initialization */
|
||||||
accum = put_fvalue(df,
|
accum = put_fvalue(df,
|
||||||
arg1->value.fvalue, arg2->value.numeric);
|
arg1->value.fvalue, arg2->value.numeric);
|
||||||
break;
|
break;
|
||||||
|
@ -613,3 +613,16 @@ dfvm_init_const(dfilter_t *df)
|
||||||
|
|
||||||
return;
|
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*
|
||||||
drange_node_new(void)
|
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 = g_new(drange_node,1);
|
||||||
new_range_node->start_offset = 0;
|
new_range_node->start_offset = 0;
|
||||||
new_range_node->length = 0;
|
new_range_node->length = 0;
|
||||||
new_range_node->end_offset = 0;
|
new_range_node->end_offset = 0;
|
||||||
new_range_node->ending = DRANGE_NODE_END_T_UNINITIALIZED;
|
new_range_node->ending = DRANGE_NODE_END_T_UNINITIALIZED;
|
||||||
return new_range_node;
|
return new_range_node;
|
||||||
}
|
}
|
||||||
|
|
||||||
static drange_node*
|
static drange_node*
|
||||||
drange_node_dup(drange_node *org)
|
drange_node_dup(drange_node *org)
|
||||||
{
|
{
|
||||||
drange_node *new_range_node;
|
drange_node *new_range_node;
|
||||||
|
|
||||||
if (!org)
|
if (!org)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
new_range_node = g_new(drange_node,1);
|
new_range_node = g_new(drange_node,1);
|
||||||
new_range_node->start_offset = org->start_offset;
|
new_range_node->start_offset = org->start_offset;
|
||||||
new_range_node->length = org->length;
|
new_range_node->length = org->length;
|
||||||
new_range_node->end_offset = org->end_offset;
|
new_range_node->end_offset = org->end_offset;
|
||||||
new_range_node->ending = org->ending;
|
new_range_node->ending = org->ending;
|
||||||
return new_range_node;
|
return new_range_node;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* drange_node destructor */
|
/* drange_node destructor */
|
||||||
void
|
void
|
||||||
drange_node_free(drange_node* drnode)
|
drange_node_free(drange_node* drnode)
|
||||||
{
|
{
|
||||||
g_free(drnode);
|
g_free(drnode);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* drange_node accessors */
|
/* drange_node accessors */
|
||||||
gint
|
gint
|
||||||
drange_node_get_start_offset(drange_node* drnode)
|
drange_node_get_start_offset(drange_node* drnode)
|
||||||
{
|
{
|
||||||
g_assert(drnode->ending != DRANGE_NODE_END_T_UNINITIALIZED);
|
g_assert(drnode->ending != DRANGE_NODE_END_T_UNINITIALIZED);
|
||||||
return drnode->start_offset;
|
return drnode->start_offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
gint
|
gint
|
||||||
drange_node_get_length(drange_node* drnode)
|
drange_node_get_length(drange_node* drnode)
|
||||||
{
|
{
|
||||||
g_assert(drnode->ending == DRANGE_NODE_END_T_LENGTH);
|
g_assert(drnode->ending == DRANGE_NODE_END_T_LENGTH);
|
||||||
return drnode->length;
|
return drnode->length;
|
||||||
}
|
}
|
||||||
|
|
||||||
gint
|
gint
|
||||||
drange_node_get_end_offset(drange_node* drnode)
|
drange_node_get_end_offset(drange_node* drnode)
|
||||||
{
|
{
|
||||||
g_assert(drnode->ending == DRANGE_NODE_END_T_OFFSET);
|
g_assert(drnode->ending == DRANGE_NODE_END_T_OFFSET);
|
||||||
return drnode->end_offset;
|
return drnode->end_offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
drange_node_end_t
|
drange_node_end_t
|
||||||
drange_node_get_ending(drange_node* drnode)
|
drange_node_get_ending(drange_node* drnode)
|
||||||
{
|
{
|
||||||
g_assert(drnode->ending != DRANGE_NODE_END_T_UNINITIALIZED);
|
g_assert(drnode->ending != DRANGE_NODE_END_T_UNINITIALIZED);
|
||||||
return drnode->ending;
|
return drnode->ending;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* drange_node mutators */
|
/* drange_node mutators */
|
||||||
void
|
void
|
||||||
drange_node_set_start_offset(drange_node* drnode, gint offset)
|
drange_node_set_start_offset(drange_node* drnode, gint offset)
|
||||||
{
|
{
|
||||||
drnode->start_offset = offset;
|
drnode->start_offset = offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
drange_node_set_length(drange_node* drnode, gint length)
|
drange_node_set_length(drange_node* drnode, gint length)
|
||||||
{
|
{
|
||||||
drnode->length = length;
|
drnode->length = length;
|
||||||
drnode->ending = DRANGE_NODE_END_T_LENGTH;
|
drnode->ending = DRANGE_NODE_END_T_LENGTH;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
drange_node_set_end_offset(drange_node* drnode, gint offset)
|
drange_node_set_end_offset(drange_node* drnode, gint offset)
|
||||||
{
|
{
|
||||||
drnode->end_offset = offset;
|
drnode->end_offset = offset;
|
||||||
drnode->ending = DRANGE_NODE_END_T_OFFSET;
|
drnode->ending = DRANGE_NODE_END_T_OFFSET;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
drange_node_set_to_the_end(drange_node* drnode)
|
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 constructor */
|
||||||
drange_t *
|
drange_t *
|
||||||
drange_new(void)
|
drange_new(void)
|
||||||
{
|
{
|
||||||
drange_t * new_drange;
|
drange_t * new_drange;
|
||||||
new_drange = g_new(drange_t,1);
|
new_drange = g_new(drange_t,1);
|
||||||
new_drange->range_list = NULL;
|
new_drange->range_list = NULL;
|
||||||
new_drange->has_total_length = TRUE;
|
new_drange->has_total_length = TRUE;
|
||||||
new_drange->total_length = 0;
|
new_drange->total_length = 0;
|
||||||
new_drange->min_start_offset = G_MAXINT;
|
new_drange->min_start_offset = G_MAXINT;
|
||||||
new_drange->max_start_offset = G_MININT;
|
new_drange->max_start_offset = G_MININT;
|
||||||
return new_drange;
|
return new_drange;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
drange_append_wrapper(gpointer data, gpointer user_data)
|
drange_append_wrapper(gpointer data, gpointer user_data)
|
||||||
{
|
{
|
||||||
drange_node *drnode = (drange_node *)data;
|
drange_node *drnode = (drange_node *)data;
|
||||||
drange_t *dr = (drange_t *)user_data;
|
drange_t *dr = (drange_t *)user_data;
|
||||||
|
|
||||||
drange_append_drange_node(dr, drnode);
|
drange_append_drange_node(dr, drnode);
|
||||||
}
|
}
|
||||||
|
|
||||||
drange_t *
|
drange_t *
|
||||||
drange_new_from_list(GSList *list)
|
drange_new_from_list(GSList *list)
|
||||||
{
|
{
|
||||||
drange_t *new_drange;
|
drange_t *new_drange;
|
||||||
|
|
||||||
new_drange = drange_new();
|
new_drange = drange_new();
|
||||||
g_slist_foreach(list, drange_append_wrapper, new_drange);
|
g_slist_foreach(list, drange_append_wrapper, new_drange);
|
||||||
return new_drange;
|
return new_drange;
|
||||||
}
|
}
|
||||||
|
|
||||||
drange_t *
|
drange_t *
|
||||||
drange_dup(drange_t *org)
|
drange_dup(drange_t *org)
|
||||||
{
|
{
|
||||||
drange_t *new_drange;
|
drange_t *new_drange;
|
||||||
GSList *p;
|
GSList *p;
|
||||||
|
|
||||||
if (!org)
|
if (!org)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
new_drange = drange_new();
|
new_drange = drange_new();
|
||||||
for (p = org->range_list; p; p = p->next) {
|
for (p = org->range_list; p; p = p->next) {
|
||||||
drange_node *drnode = (drange_node *)p->data;
|
drange_node *drnode = (drange_node *)p->data;
|
||||||
drange_append_drange_node(new_drange, drange_node_dup(drnode));
|
drange_append_drange_node(new_drange, drange_node_dup(drnode));
|
||||||
}
|
}
|
||||||
return new_drange;
|
return new_drange;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
drange_node_free_wrapper(gpointer data, gpointer userdata _U_)
|
drange_node_free_wrapper(gpointer data, gpointer userdata _U_)
|
||||||
{
|
{
|
||||||
g_free(data);
|
g_free(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* drange destructor */
|
/* drange destructor */
|
||||||
void
|
void
|
||||||
drange_free(drange_t * dr)
|
drange_free(drange_t * dr)
|
||||||
{
|
{
|
||||||
drange_node_free_list(dr->range_list);
|
drange_node_free_list(dr->range_list);
|
||||||
g_free(dr);
|
g_free(dr);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Call drange_node destructor on all list items */
|
/* Call drange_node destructor on all list items */
|
||||||
void
|
void
|
||||||
drange_node_free_list(GSList* list)
|
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 */
|
/* drange accessors */
|
||||||
gboolean drange_has_total_length(drange_t * dr){ return dr->has_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_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_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; }
|
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)
|
update_drange_with_node(drange_t *dr, drange_node *drnode)
|
||||||
{
|
{
|
||||||
if(drnode->ending == DRANGE_NODE_END_T_TO_THE_END){
|
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){
|
else if(dr->has_total_length){
|
||||||
dr->total_length += drnode->length;
|
dr->total_length += drnode->length;
|
||||||
}
|
}
|
||||||
if(drnode->start_offset < dr->min_start_offset){
|
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){
|
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
|
void
|
||||||
drange_prepend_drange_node(drange_t * dr, drange_node* drnode)
|
drange_prepend_drange_node(drange_t * dr, drange_node* drnode)
|
||||||
{
|
{
|
||||||
if(drnode != NULL){
|
if(drnode != NULL){
|
||||||
dr->range_list = g_slist_prepend(dr->range_list,drnode);
|
dr->range_list = g_slist_prepend(dr->range_list,drnode);
|
||||||
update_drange_with_node(dr, drnode);
|
update_drange_with_node(dr, drnode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
drange_append_drange_node(drange_t * dr, drange_node* drnode)
|
drange_append_drange_node(drange_t * dr, drange_node* drnode)
|
||||||
{
|
{
|
||||||
if(drnode != NULL){
|
if(drnode != NULL){
|
||||||
dr->range_list = g_slist_append(dr->range_list,drnode);
|
dr->range_list = g_slist_append(dr->range_list,drnode);
|
||||||
update_drange_with_node(dr, drnode);
|
update_drange_with_node(dr, drnode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
drange_foreach_drange_node(drange_t * dr, GFunc func, gpointer funcdata)
|
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;
|
ftenum_t ftype1, ftype2;
|
||||||
fvalue_t *fvalue;
|
fvalue_t *fvalue;
|
||||||
char *s;
|
char *s;
|
||||||
int len_range;
|
int len_range;
|
||||||
|
|
||||||
DebugLog((" 5 check_relation_LHS_RANGE(%s)\n", relation_string));
|
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) {
|
else if (type2 == STTYPE_UNPARSED) {
|
||||||
DebugLog((" 5 check_relation_LHS_RANGE(type2 = STTYPE_UNPARSED)\n"));
|
DebugLog((" 5 check_relation_LHS_RANGE(type2 = STTYPE_UNPARSED)\n"));
|
||||||
s = (char*)stnode_data(st_arg2);
|
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) {
|
if (strcmp(relation_string, "matches") == 0) {
|
||||||
/* Convert to a FT_PCRE */
|
/* Convert to a FT_PCRE */
|
||||||
fvalue = dfilter_fvalue_from_unparsed(dfw, FT_PCRE, s, FALSE);
|
fvalue = dfilter_fvalue_from_unparsed(dfw, FT_PCRE, s, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The RHS should be FT_BYTES. However, there is a special case where
|
/* 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
|
* 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"
|
* 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
|
* 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
|
* slices that are longer than one byte, because then we'd have to know
|
||||||
* which endianness the byte string should be in. */
|
* which endianness the byte string should be in. */
|
||||||
else if (len_range == 1 && strlen(s) == 4 && strncmp(s, "0x", 2) == 0) {
|
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
|
/* Even if the RHS string starts with "0x", it still could fail to
|
||||||
* be an integer. Try converting it here. */
|
* be an integer. Try converting it here. */
|
||||||
fvalue = dfilter_fvalue_from_unparsed(dfw, FT_UINT8, s, allow_partial_value);
|
fvalue = dfilter_fvalue_from_unparsed(dfw, FT_UINT8, s, allow_partial_value);
|
||||||
if (fvalue) {
|
if (fvalue) {
|
||||||
FVALUE_FREE(fvalue);
|
FVALUE_FREE(fvalue);
|
||||||
/* The value doees indeed fit into 8 bits. Create a BYTE_STRING
|
/* 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
|
* from it. Since we know that the last 2 characters are a valid
|
||||||
* hex string, just use those directly. */
|
* hex string, just use those directly. */
|
||||||
fvalue = dfilter_fvalue_from_unparsed(dfw, FT_BYTES, s+2, allow_partial_value);
|
fvalue = dfilter_fvalue_from_unparsed(dfw, FT_BYTES, s+2, allow_partial_value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
fvalue = dfilter_fvalue_from_unparsed(dfw, FT_BYTES, s, allow_partial_value);
|
fvalue = dfilter_fvalue_from_unparsed(dfw, FT_BYTES, s, allow_partial_value);
|
||||||
}
|
}
|
||||||
if (!fvalue) {
|
if (!fvalue) {
|
||||||
DebugLog((" 5 check_relation_LHS_RANGE(type2 = STTYPE_UNPARSED): Could not convert from string!\n"));
|
DebugLog((" 5 check_relation_LHS_RANGE(type2 = STTYPE_UNPARSED): Could not convert from string!\n"));
|
||||||
THROW(TypeError);
|
THROW(TypeError);
|
||||||
|
@ -1369,3 +1369,16 @@ dfw_semcheck(dfwork_t *dfw, GPtrArray *deprecated)
|
||||||
dfw, i++,ok_filter));
|
dfw, i++,ok_filter));
|
||||||
return 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 {
|
typedef struct {
|
||||||
guint32 magic;
|
guint32 magic;
|
||||||
df_func_def_t *funcdef;
|
df_func_def_t *funcdef;
|
||||||
GSList *params;
|
GSList *params;
|
||||||
} function_t;
|
} function_t;
|
||||||
|
|
||||||
#define FUNCTION_MAGIC 0xe10f0f99
|
#define FUNCTION_MAGIC 0xe10f0f99
|
||||||
|
@ -66,14 +66,14 @@ function_dup(gconstpointer data)
|
||||||
static void
|
static void
|
||||||
slist_stnode_free(gpointer data, gpointer user_data _U_)
|
slist_stnode_free(gpointer data, gpointer user_data _U_)
|
||||||
{
|
{
|
||||||
stnode_free((stnode_t *)data);
|
stnode_free((stnode_t *)data);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
st_funcparams_free(GSList *params)
|
st_funcparams_free(GSList *params)
|
||||||
{
|
{
|
||||||
g_slist_foreach(params, slist_stnode_free, NULL);
|
g_slist_foreach(params, slist_stnode_free, NULL);
|
||||||
g_slist_free(params);
|
g_slist_free(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -81,7 +81,7 @@ function_free(gpointer value)
|
||||||
{
|
{
|
||||||
function_t *stfuncrec = (function_t*)value;
|
function_t *stfuncrec = (function_t*)value;
|
||||||
assert_magic(stfuncrec, FUNCTION_MAGIC);
|
assert_magic(stfuncrec, FUNCTION_MAGIC);
|
||||||
st_funcparams_free(stfuncrec->params);
|
st_funcparams_free(stfuncrec->params);
|
||||||
g_free(stfuncrec);
|
g_free(stfuncrec);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ sttype_function_funcdef(stnode_t *node)
|
||||||
|
|
||||||
stfuncrec = (function_t*)stnode_data(node);
|
stfuncrec = (function_t*)stnode_data(node);
|
||||||
assert_magic(stfuncrec, FUNCTION_MAGIC);
|
assert_magic(stfuncrec, FUNCTION_MAGIC);
|
||||||
return stfuncrec->funcdef;
|
return stfuncrec->funcdef;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get the parameters for a function stnode_t. */
|
/* Get the parameters for a function stnode_t. */
|
||||||
|
@ -118,7 +118,7 @@ sttype_function_params(stnode_t *node)
|
||||||
|
|
||||||
stfuncrec = (function_t*)stnode_data(node);
|
stfuncrec = (function_t*)stnode_data(node);
|
||||||
assert_magic(stfuncrec, FUNCTION_MAGIC);
|
assert_magic(stfuncrec, FUNCTION_MAGIC);
|
||||||
return stfuncrec->params;
|
return stfuncrec->params;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -136,3 +136,15 @@ sttype_register_function(void)
|
||||||
sttype_register(&function_type);
|
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);
|
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(&field_type);
|
||||||
sttype_register(&fvalue_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);
|
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(&string_type);
|
||||||
sttype_register(&unparsed_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);
|
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;
|
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