Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
#############################################################################*/
#include <errno.h>
+#include <fnmatch.h>
#include <libgen.h>
#include <limits.h>
#include <linux/limits.h>
return 0;
}
+
+PAKFIRE_EXPORT int pakfire_file_matches(struct pakfire_file* file, const char* pattern) {
+ int r;
+
+ // Don't match on no pattern
+ if (!pattern)
+ return 0;
+
+ // Check if the pattern matches
+ r = fnmatch(pattern, file->path, 0);
+ switch (r) {
+ // Match
+ case 0:
+ return 1;
+
+ // No Match
+ case FNM_NOMATCH:
+ return 0;
+
+ default:
+ return -1;
+ }
+}
struct pakfire_file* pakfire_file_parse_from_file(const char* list, unsigned int format);
+int pakfire_file_matches(struct pakfire_file* file, const char* pattern);
+
#ifdef PAKFIRE_PRIVATE
#include <archive_entry.h>
pakfire_file_get_time;
pakfire_file_get_type;
pakfire_file_get_uname;
+ pakfire_file_matches;
pakfire_file_set_ctime;
pakfire_file_set_dev;
pakfire_file_set_digest;