]> wimlib.net Git - wimlib/blobdiff - include/wimlib/wildcard.h
wimlib: strict checks for unassigned flags
[wimlib] / include / wimlib / wildcard.h
index 764f478617f382071e0815b2bdeb0b6f396792e8..5bae113d5c7178b3412513dcbe76b4fcfd0d6339 100644 (file)
@@ -3,23 +3,26 @@
 
 #include <wimlib/types.h>
 
-#define WILDCARD_FLAG_USE_LITERAL_IF_NO_MATCHES        0x00000001
-#define WILDCARD_FLAG_WARN_IF_NO_MATCH         0x00000002
-#define WILDCARD_FLAG_ERROR_IF_NO_MATCH                0x00000004
-#define WILDCARD_FLAG_CASE_INSENSITIVE         0x00000008
+struct wim_dentry;
+
+#define WILDCARD_FLAG_WARN_IF_NO_MATCH         0x00000001
+#define WILDCARD_FLAG_ERROR_IF_NO_MATCH                0x00000002
+#define WILDCARD_FLAG_CASE_INSENSITIVE         0x00000004
 
 extern int
-expand_wildcard_wim_paths(WIMStruct *wim,
-                         const char * const *wildcards,
-                         size_t num_wildcards,
-                         tchar ***expanded_paths_ret,
-                         size_t *num_expanded_paths_ret,
-                         u32 flags);
+expand_wildcard(WIMStruct *wim,
+               const tchar *wildcard_path,
+               int (*consume_dentry)(struct wim_dentry *, void *),
+               void *consume_dentry_ctx,
+               u32 flags);
 
 #ifdef __WIN32__
 extern int
 fnmatch(const tchar *pattern, const tchar *string, int flags);
-#  define FNM_CASEFOLD 0
+#  define FNM_CASEFOLD 0x1
+#  define FNM_PATHNAME 0x2
+#  define FNM_NOESCAPE 0x4
+#  define FNM_NOMATCH 1
 #else
 #  include <fnmatch.h>
 #  ifndef FNM_CASEFOLD