raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=de296b13c80b3d46b39265122b8da01cddfa5a6d
commit de296b13c80b3d46b39265122b8da01cddfa5a6d Author: Vincent Torri <vincent.to...@gmail.com> Date: Mon May 3 18:48:24 2021 +0100 Eina: use eina_fnmatch() instead of fnmatch() Reviewers: raster Reviewed By: raster Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12262 --- src/bin/edje/edje_external_inspector.c | 5 ++--- src/bin/edje/edje_inspector.c | 3 +-- src/lib/ecore_x/ecore_x_vsync.c | 3 +-- src/lib/eet/eet_lib.c | 3 +-- src/lib/efreet/efreet_mime.c | 5 ++--- src/lib/efreet/efreet_utils.c | 3 +-- src/lib/eina/eina_log.c | 6 +++--- src/lib/elementary/Efl_Ui.h | 1 - src/lib/elementary/Elementary.h | 1 - src/lib/elementary/elm_gengrid.c | 18 ++++++++---------- src/lib/elementary/elm_genlist.c | 20 ++++++++------------ src/lib/embryo/embryo_str.c | 3 +-- src/lib/eo/eo_base_class.c | 3 +-- src/lib/evas/canvas/evas_font_dir.c | 10 ++++------ src/lib/evas/file/evas_path.c | 10 ++++------ 15 files changed, 37 insertions(+), 57 deletions(-) diff --git a/src/bin/edje/edje_external_inspector.c b/src/bin/edje/edje_external_inspector.c index 718c02fc74..07940cb11a 100644 --- a/src/bin/edje/edje_external_inspector.c +++ b/src/bin/edje/edje_external_inspector.c @@ -3,7 +3,6 @@ #endif #include <locale.h> -#include <fnmatch.h> #include <Ecore.h> #include <Ecore_Getopt.h> @@ -56,7 +55,7 @@ module_matches(const char *name) if (!module_patterns) return EINA_TRUE; for (itr = module_patterns; *itr != NULL; itr++) - if (fnmatch(*itr, name, 0) == 0) return EINA_TRUE; + if (eina_fnmatch(*itr, name, 0)) return EINA_TRUE; return EINA_FALSE; } @@ -65,7 +64,7 @@ static inline Eina_Bool type_matches(const char *name) { if (!type_glob) return EINA_TRUE; - return fnmatch(type_glob, name, 0) == 0; + return eina_fnmatch(type_glob, name, 0); } static int diff --git a/src/bin/edje/edje_inspector.c b/src/bin/edje/edje_inspector.c index 25024cee73..69953502a3 100644 --- a/src/bin/edje/edje_inspector.c +++ b/src/bin/edje/edje_inspector.c @@ -3,7 +3,6 @@ #endif #include <locale.h> -#include <fnmatch.h> #include <unistd.h> #include <errno.h> @@ -101,7 +100,7 @@ static inline Eina_Bool matches(const char *name, const char *pattern) { if (!pattern) return EINA_TRUE; - return fnmatch(pattern, name, 0) == 0; + return eina_fnmatch(pattern, name, 0); } static void diff --git a/src/lib/ecore_x/ecore_x_vsync.c b/src/lib/ecore_x/ecore_x_vsync.c index 5ad828d0fe..1014542a6a 100644 --- a/src/lib/ecore_x/ecore_x_vsync.c +++ b/src/lib/ecore_x/ecore_x_vsync.c @@ -15,7 +15,6 @@ #include <sys/stat.h> #include <sys/select.h> #include <fcntl.h> -#include <fnmatch.h> #ifdef HAVE_PRCTL # include <sys/prctl.h> @@ -648,7 +647,7 @@ glob_match(const char *glob, const char *str) { if (!glob) return EINA_TRUE; if (!str) return EINA_FALSE; - if (!fnmatch(glob, str, 0)) return EINA_TRUE; + if (eina_fnmatch(glob, str, 0)) return EINA_TRUE; return EINA_FALSE; } diff --git a/src/lib/eet/eet_lib.c b/src/lib/eet/eet_lib.c index e1216e6108..1aa2a1c9bb 100644 --- a/src/lib/eet/eet_lib.c +++ b/src/lib/eet/eet_lib.c @@ -9,7 +9,6 @@ #include <time.h> #include <string.h> #include <unistd.h> -#include <fnmatch.h> #include <fcntl.h> #include <Eina.h> @@ -2607,7 +2606,7 @@ eet_list(Eet_File *ef, * check for * explicitly, because on some systems, * isn't well * supported */ - if ((!glob) || !fnmatch(glob, efn->name, 0)) + if ((!glob) || eina_fnmatch(glob, efn->name, 0)) { /* add it to our list */ list_count++; diff --git a/src/lib/efreet/efreet_mime.c b/src/lib/efreet/efreet_mime.c index d94894ff71..9e3e7cb404 100644 --- a/src/lib/efreet/efreet_mime.c +++ b/src/lib/efreet/efreet_mime.c @@ -6,7 +6,6 @@ #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> -#include <fnmatch.h> #include <Ecore.h> #include <Ecore_File.h> @@ -1237,7 +1236,7 @@ efreet_mime_glob_match(const char *str, const char *glob) if (str[0] == 0) return 1; return 0; } - if (!fnmatch(glob, str, 0)) return 1; + if (eina_fnmatch(glob, str, 0)) return 1; return 0; } @@ -1263,7 +1262,7 @@ efreet_mime_glob_case_match(char *str, const char *glob) tglob = alloca(strlen(glob) + 1); for (tp = tglob, p = glob; *p; p++, tp++) *tp = tolower(*p); *tp = 0; - if (!fnmatch(str, tglob, 0)) return 1; + if (eina_fnmatch(str, tglob, 0)) return 1; return 0; } diff --git a/src/lib/efreet/efreet_utils.c b/src/lib/efreet/efreet_utils.c index e1cafaaf89..14fc011cd6 100644 --- a/src/lib/efreet/efreet_utils.c +++ b/src/lib/efreet/efreet_utils.c @@ -4,7 +4,6 @@ /* TODO: add no_display check, as we might want only displayable items */ -#include <fnmatch.h> #include <ctype.h> #include <Ecore_File.h> @@ -450,7 +449,7 @@ efreet_util_glob_match(const char *str, const char *glob) return 0; } if (!strcmp(glob, "*")) return 1; - if (!fnmatch(glob, str, 0)) return 1; + if (eina_fnmatch(glob, str, 0)) return 1; return 0; } diff --git a/src/lib/eina/eina_log.c b/src/lib/eina/eina_log.c index bd362fd9a2..4a841a746e 100644 --- a/src/lib/eina/eina_log.c +++ b/src/lib/eina/eina_log.c @@ -25,7 +25,6 @@ #include <string.h> #include <stdlib.h> #include <unistd.h> -#include <fnmatch.h> #include <assert.h> #include <errno.h> @@ -45,6 +44,7 @@ #include "eina_config.h" #include "eina_private.h" +#include "eina_fnmatch.h" #include "eina_inlist.h" #include "eina_lock.h" #include "eina_thread.h" @@ -1280,7 +1280,7 @@ finish_register: { EINA_INLIST_FOREACH(_glob_list, pending) { - if (!fnmatch(pending->name, name, 0)) + if (eina_fnmatch(pending->name, name, 0)) { _log_domains[i].level = pending->level; break; @@ -1996,7 +1996,7 @@ eina_log_domain_level_get(const char *domain_name) EINA_INLIST_FOREACH(_glob_list, pending) { - if (!fnmatch(pending->name, domain_name, 0)) + if (eina_fnmatch(pending->name, domain_name, 0)) return pending->level; } diff --git a/src/lib/elementary/Efl_Ui.h b/src/lib/elementary/Efl_Ui.h index 3a64e9fdb0..3178aa9be6 100644 --- a/src/lib/elementary/Efl_Ui.h +++ b/src/lib/elementary/Efl_Ui.h @@ -14,7 +14,6 @@ #include <sys/time.h> #include <sys/param.h> #include <math.h> -#include <fnmatch.h> #include <limits.h> #include <ctype.h> #include <time.h> diff --git a/src/lib/elementary/Elementary.h b/src/lib/elementary/Elementary.h index 8e8c198829..b26272c128 100644 --- a/src/lib/elementary/Elementary.h +++ b/src/lib/elementary/Elementary.h @@ -20,7 +20,6 @@ #include <sys/time.h> #include <sys/param.h> #include <math.h> -#include <fnmatch.h> #include <limits.h> #include <ctype.h> #include <time.h> diff --git a/src/lib/elementary/elm_gengrid.c b/src/lib/elementary/elm_gengrid.c index 132b7aa14f..07e9a971ec 100644 --- a/src/lib/elementary/elm_gengrid.c +++ b/src/lib/elementary/elm_gengrid.c @@ -418,12 +418,10 @@ _elm_gengrid_search_by_text_item_get(Eo *obj EINA_UNUSED, if (!pattern) return NULL; if (!sd->items) return NULL; - if (flags & ELM_GLOB_MATCH_NO_ESCAPE) fnflags |= FNM_NOESCAPE; - if (flags & ELM_GLOB_MATCH_PATH) fnflags |= FNM_PATHNAME; - if (flags & ELM_GLOB_MATCH_PERIOD) fnflags |= FNM_PERIOD; -#ifdef FNM_CASEFOLD - if (flags & ELM_GLOB_MATCH_NOCASE) fnflags |= FNM_CASEFOLD; -#endif + if (flags & ELM_GLOB_MATCH_NO_ESCAPE) fnflags |= EINA_FNMATCH_NOESCAPE; + if (flags & ELM_GLOB_MATCH_PATH) fnflags |= EINA_FNMATCH_PATHNAME; + if (flags & ELM_GLOB_MATCH_PERIOD) fnflags |= EINA_FNMATCH_PERIOD; + if (flags & ELM_GLOB_MATCH_NOCASE) fnflags |= EINA_FNMATCH_CASEFOLD; ELM_GENGRID_ITEM_DATA_GET(eo_item_to_search_from, item_to_search_from); start = (item_to_search_from) ? @@ -435,7 +433,7 @@ _elm_gengrid_search_by_text_item_get(Eo *obj EINA_UNUSED, str = it->itc->func.text_get((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)), WIDGET(it), part_name ? part_name : "elm.text"); if (!str) continue; - if (!fnmatch(pattern, str, fnflags)) + if (eina_fnmatch(pattern, str, fnflags)) { free(str); return EO_OBJ(it); @@ -1021,7 +1019,7 @@ _item_text_realize(Elm_Gen_Item *it, (edje_object_data_get(target, "texts")); EINA_LIST_FOREACH(*source, l, key) { - if (parts && fnmatch(parts, key, FNM_PERIOD)) continue; + if (parts && !eina_fnmatch(parts, key, EINA_FNMATCH_PERIOD)) continue; s = it->itc->func.text_get ((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)), WIDGET(it), key); @@ -1070,7 +1068,7 @@ _item_content_realize(Elm_Gen_Item *it, EINA_LIST_FREE(source, key) { - if (parts && fnmatch(parts, key, FNM_PERIOD)) + if (parts && !eina_fnmatch(parts, key, EINA_FNMATCH_PERIOD)) continue; Evas_Object *old = edje_object_part_swallow_get(target, key); @@ -1137,7 +1135,7 @@ _item_state_realize(Elm_Gen_Item *it, Evas_Object *target, const char *parts) src = elm_widget_stringlist_get(edje_object_data_get(target, "states")); EINA_LIST_FREE(src, key) { - if (parts && fnmatch(parts, key, FNM_PERIOD)) continue; + if (parts && !eina_fnmatch(parts, key, EINA_FNMATCH_PERIOD)) continue; Eina_Bool on = it->itc->func.state_get ((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)), WIDGET(it), key); diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c index 78b3134138..d7ed1e52e0 100644 --- a/src/lib/elementary/elm_genlist.c +++ b/src/lib/elementary/elm_genlist.c @@ -2,8 +2,6 @@ # include "elementary_config.h" #endif -#include <fnmatch.h> - #define EFL_ACCESS_OBJECT_PROTECTED #define EFL_ACCESS_SELECTION_PROTECTED #define EFL_ACCESS_WIDGET_ACTION_PROTECTED @@ -347,7 +345,7 @@ _item_text_realize(Elm_Gen_Item *it, (edje_object_data_get(target, "texts")); EINA_LIST_FOREACH(*source, l, key) { - if (parts && fnmatch(parts, key, FNM_PERIOD)) continue; + if (parts && !eina_fnmatch(parts, key, EINA_FNMATCH_PERIOD)) continue; s = it->itc->func.text_get ((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)), WIDGET(it), key); @@ -423,7 +421,7 @@ _item_content_realize(Elm_Gen_Item *it, EINA_LIST_FREE(source, key) { - if (parts && fnmatch(parts, key, FNM_PERIOD)) + if (parts && !eina_fnmatch(parts, key, EINA_FNMATCH_PERIOD)) continue; Evas_Object *old = NULL; @@ -505,7 +503,7 @@ _item_state_realize(Elm_Gen_Item *it, Evas_Object *target, const char *parts) src = elm_widget_stringlist_get(edje_object_data_get(target, "states")); EINA_LIST_FREE(src, key) { - if (parts && fnmatch(parts, key, FNM_PERIOD)) continue; + if (parts && !eina_fnmatch(parts, key, EINA_FNMATCH_PERIOD)) continue; Eina_Bool on = it->itc->func.state_get ((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)), WIDGET(it), key); @@ -8746,12 +8744,10 @@ _elm_genlist_search_by_text_item_get(Eo *obj EINA_UNUSED, if (!pattern) return NULL; if (!sd->items) return NULL; - if (flags & ELM_GLOB_MATCH_NO_ESCAPE) fnflags |= FNM_NOESCAPE; - if (flags & ELM_GLOB_MATCH_PATH) fnflags |= FNM_PATHNAME; - if (flags & ELM_GLOB_MATCH_PERIOD) fnflags |= FNM_PERIOD; -#ifdef FNM_CASEFOLD - if (flags & ELM_GLOB_MATCH_NOCASE) fnflags |= FNM_CASEFOLD; -#endif + if (flags & ELM_GLOB_MATCH_NO_ESCAPE) fnflags |= EINA_FNMATCH_NOESCAPE; + if (flags & ELM_GLOB_MATCH_PATH) fnflags |= EINA_FNMATCH_PATHNAME; + if (flags & ELM_GLOB_MATCH_PERIOD) fnflags |= EINA_FNMATCH_PERIOD; + if (flags & ELM_GLOB_MATCH_NOCASE) fnflags |= EINA_FNMATCH_CASEFOLD; start = (item_to_search_from) ? EINA_INLIST_GET((Elm_Gen_Item *)efl_data_scope_get(item_to_search_from, ELM_GENLIST_ITEM_CLASS)) : @@ -8761,7 +8757,7 @@ _elm_genlist_search_by_text_item_get(Eo *obj EINA_UNUSED, if (!it->itc->func.text_get) continue; str = it->itc->func.text_get((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)), WIDGET(it), part_name); if (!str) continue; - if (!fnmatch(pattern, str, fnflags)) + if (eina_fnmatch(pattern, str, fnflags)) { free(str); return EO_OBJ(it); diff --git a/src/lib/embryo/embryo_str.c b/src/lib/embryo/embryo_str.c index 6fafa83db0..3b7dd6fd68 100644 --- a/src/lib/embryo/embryo_str.c +++ b/src/lib/embryo/embryo_str.c @@ -14,7 +14,6 @@ #include <stdlib.h> #include <stdio.h> #include <string.h> -#include <fnmatch.h> #include <Eina.h> @@ -61,7 +60,7 @@ _embryo_str_fnmatch(Embryo_Program *ep, Embryo_Cell *params) STRGET(ep, s1, params[1]); STRGET(ep, s2, params[2]); if ((!s1) || (!s2)) return -1; - return (Embryo_Cell)fnmatch(s1, s2, 0); + return (Embryo_Cell)!eina_fnmatch(s1, s2, 0); } static Embryo_Cell diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c index 546b5d3999..db721f0597 100644 --- a/src/lib/eo/eo_base_class.c +++ b/src/lib/eo/eo_base_class.c @@ -3,7 +3,6 @@ #endif #include <Eina.h> -#include <fnmatch.h> #include <Eo.h> @@ -545,7 +544,7 @@ _name_match(const char *match, Eina_Bool is_glob, const char *str) // if match string is "*" special case it and match if ((match[0] == '*') && (match[1] == 0)) return EINA_TRUE; // actual compare - if (!fnmatch(match, str, 0)) return EINA_TRUE; + if (eina_fnmatch(match, str, 0)) return EINA_TRUE; } else { diff --git a/src/lib/evas/canvas/evas_font_dir.c b/src/lib/evas/canvas/evas_font_dir.c index 2d98916ee6..fa6c9591a9 100644 --- a/src/lib/evas/canvas/evas_font_dir.c +++ b/src/lib/evas/canvas/evas_font_dir.c @@ -65,7 +65,6 @@ static FcConfig *fc_config = NULL; /* FIXME move these helper function to eina_file or eina_path */ /* get the casefold feature! */ -#include <fnmatch.h> #include <unistd.h> #include <sys/param.h> int @@ -99,11 +98,10 @@ _file_path_list(char *path, const char *match, int match_case) Eina_List *files = NULL; int flags; - flags = FNM_PATHNAME; -#ifdef FNM_CASEFOLD + flags = EINA_FNMATCH_PATHNAME; if (!match_case) - flags |= FNM_CASEFOLD; -#elif defined FNM_IGNORECASE + flags |= EINA_FNMATCH_CASEFOLD; +#if defined FNM_IGNORECASE if (!match_case) flags |= FNM_IGNORECASE; #else @@ -115,7 +113,7 @@ _file_path_list(char *path, const char *match, int match_case) { if (match) { - if (fnmatch(match, info->path + info->name_start, flags) == 0) + if (eina_fnmatch(match, info->path + info->name_start, flags)) files = eina_list_append(files, strdup(info->path + info->name_start)); } else diff --git a/src/lib/evas/file/evas_path.c b/src/lib/evas/file/evas_path.c index ef3d439018..68570a1c8d 100644 --- a/src/lib/evas/file/evas_path.c +++ b/src/lib/evas/file/evas_path.c @@ -12,7 +12,6 @@ #include <sys/types.h> #include <sys/stat.h> /* get the casefold feature! */ -#include <fnmatch.h> #include <unistd.h> #include <sys/param.h> @@ -98,11 +97,10 @@ evas_file_path_list(char *path, const char *match, int match_case) Eina_List *files = NULL; int flags; - flags = FNM_PATHNAME; -#ifdef FNM_CASEFOLD + flags = EINA_FNMATCH_PATHNAME; if (!match_case) - flags |= FNM_CASEFOLD; -#elif defined FNM_IGNORECASE + flags |= EINA_FNMATCH_CASEFOLD; +#if defined FNM_IGNORECASE if (!match_case) flags |= FNM_IGNORECASE; #else @@ -114,7 +112,7 @@ evas_file_path_list(char *path, const char *match, int match_case) { if (match) { - if (fnmatch(match, info->path + info->name_start, flags) == 0) + if (eina_fnmatch(match, info->path + info->name_start, flags)) files = eina_list_append(files, strdup(info->path + info->name_start)); } else --