diff options
author | Dario Lombardo <lomato@gmail.com> | 2019-01-09 12:27:56 +0100 |
---|---|---|
committer | Dario Lombardo <lomato@gmail.com> | 2019-01-10 20:45:23 +0000 |
commit | f1fa8df3241c7e3177e0504a608b1a943ccebc00 (patch) | |
tree | e835ecd9bf818774c02fb6042cdfe14bf009e030 /epan/dfilter | |
parent | 3cc0cfc48cb1c66612b69d9c6b07126412d2a069 (diff) |
dfilter: remove size() function.
It is overlapping to len(), then they've been merged into len()
that now gives the length of any field.
Change-Id: I8e39536a4d15eff4c4b44bb39fd965729cc46951
Reviewed-on: https://code.wireshark.org/review/31462
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Diffstat (limited to 'epan/dfilter')
-rw-r--r-- | epan/dfilter/dfunctions.c | 61 |
1 files changed, 3 insertions, 58 deletions
diff --git a/epan/dfilter/dfunctions.c b/epan/dfilter/dfunctions.c index 4ca0b59e73..6f71c23d40 100644 --- a/epan/dfilter/dfunctions.c +++ b/epan/dfilter/dfunctions.c @@ -74,44 +74,9 @@ df_func_len(GList* arg1list, GList *arg2junk _U_, GList **retval) arg1 = arg1list; while (arg1) { arg_fvalue = (fvalue_t *)arg1->data; - /* This should be a list of all of the types that make sense to have a length */ - switch (fvalue_type_ftenum(arg_fvalue)) - { - case FT_STRING: - case FT_STRINGZ: - case FT_STRINGZPAD: - case FT_UINT_STRING: - case FT_BYTES: - case FT_UINT_BYTES: - ft_len = fvalue_new(FT_UINT32); - fvalue_set_uinteger(ft_len, fvalue_length(arg_fvalue)); - *retval = g_list_append(*retval, ft_len); - break; - default: - break; - } - arg1 = arg1->next; - } - - return TRUE; -} - -/* dfilter function: size() */ -static gboolean -df_func_size(GList* arg1list, GList *arg2junk _U_, GList **retval) -{ - GList *arg1; - fvalue_t *arg_fvalue; - fvalue_t *ft_len; - - arg1 = arg1list; - while (arg1) { - arg_fvalue = (fvalue_t *)arg1->data; - ft_len = fvalue_new(FT_UINT32); fvalue_set_uinteger(ft_len, fvalue_length(arg_fvalue)); *retval = g_list_append(*retval, ft_len); - arg1 = arg1->next; } @@ -166,38 +131,20 @@ ul_semcheck_params(dfwork_t *dfw, int param_num, stnode_t *st_node) } } -/* For len() checks that the parameter passed to it is an string or byte type */ +/* For len() checks that the parameter passed is valid */ static void ul_semcheck_len_params(dfwork_t *dfw, int param_num, stnode_t *st_node) { sttype_id_t type; - ftenum_t ftype; - header_field_info *hfinfo; type = stnode_type_id(st_node); if (param_num == 0) { switch(type) { case STTYPE_FIELD: - hfinfo = (header_field_info *)stnode_data(st_node); - ftype = hfinfo->type; - switch (ftype) - { - case FT_STRING: - case FT_STRINGZ: - case FT_STRINGZPAD: - case FT_UINT_STRING: - case FT_BYTES: - case FT_UINT_BYTES: - break; - default: - dfilter_fail(dfw, "Only string and byte type fields can be used in len()"); - THROW(TypeError); - break; - } break; default: - dfilter_fail(dfw, "Only string and byte type fields can be used in len()"); + dfilter_fail(dfw, "invalid type in function len()"); THROW(TypeError); } } @@ -218,8 +165,7 @@ ul_semcheck_field_param(dfwork_t *dfw, int param_num, stnode_t *st_node) case STTYPE_FIELD: break; default: - dfilter_fail(dfw, "Only type fields can be used as parameter " - "for size() or count()"); + dfilter_fail(dfw, "Only type fields can be used as parameter for count()"); THROW(TypeError); } } @@ -234,7 +180,6 @@ 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_len_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 } }; |