return list->size;
}
+size_t pakfire_filelist_total_size(struct pakfire_filelist* list) {
+ struct pakfire_file* file = NULL;
+ size_t size = 0;
+
+ for (unsigned int i = 0; i < list->size; i++) {
+ file = list->elements[i];
+
+ size += pakfire_file_get_size(file);
+ }
+
+ return size;
+}
+
PAKFIRE_EXPORT int pakfire_filelist_is_empty(struct pakfire_filelist* list) {
return list->size == 0;
}
return 0;
}
+int pakfire_filelist_walk(struct pakfire_filelist* list,
+ pakfire_filelist_walk_callback callback, void* data) {
+ struct pakfire_file* file = NULL;
+ int r = 0;
+
+ // Call the callback once for every element on the list
+ for (unsigned int i = 0; i < list->size; i++) {
+ file = list->elements[i];
+
+ // Call the callback
+ r = callback(list->pakfire, file, data);
+ if (r)
+ break;
+ }
+
+ return r;
+}
+
/*
Verifies all files on the filelist
*/
#include <stdio.h>
+size_t pakfire_filelist_total_size(struct pakfire_filelist* list);
+
int pakfire_filelist_scan(struct pakfire_filelist* list, const char* root,
const char** includes, const char** excludes);
int pakfire_filelist_contains(struct pakfire_filelist* list, const char* pattern);
int pakfire_filelist_export(struct pakfire_filelist* list, FILE* f);
+typedef int (*pakfire_filelist_walk_callback)
+ (struct pakfire* pakfire, struct pakfire_file* file, void* data);
+
+int pakfire_filelist_walk(struct pakfire_filelist* list,
+ pakfire_filelist_walk_callback callback, void* data);
+
int pakfire_filelist_verify(struct pakfire_filelist* list, struct pakfire_filelist* errors);
#endif