1 #include <stdlib.h> 2 #include <string.h> 3 #include <libgen.h> 4 #include <adt/p_forward_list_alt.h> 5 #include <alloc/obstack.h> 6 7 #include "errors.h" 8 #include "find.h" 9 #include "prune.h" 10 11 p_forward_list_alt_t prune_list; 12 prune_clear_list(void)13void prune_clear_list(void) 14 { 15 p_forward_list_alt_init(&prune_list); 16 } 17 prune_add_list(unsigned char * name)18void prune_add_list(unsigned char *name) 19 { 20 struct prune *p; 21 22 if ((p = obstack_alloc(ob, sizeof(struct prune) + strlen(name))) == 0) 23 exit((int)err_out_of_memory); 24 25 strcpy(p->path, name); 26 p_forward_list_alt_push_back(&prune_list, p); 27 } 28 prune_apply(unsigned char * name)29unsigned char prune_apply(unsigned char *name) 30 { 31 for (struct prune *p = p_forward_list_alt_front(&prune_list); p; p = p_forward_list_alt_next(p)) 32 if (glob_fat(name, p->path)) return 1; 33 34 return 0; 35 } 36