1 #include <excludes.h>
\r
4 XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(tesh);
\r
9 excludes_t excludes = xbt_new0(s_excludes_t, 1);
\r
11 excludes->items = xbt_dynar_new(sizeof(fstream_t), (void_f_pvoid_t)fstream_free);
\r
17 excludes_is_empty(excludes_t excludes)
\r
25 return (0 == xbt_dynar_length(excludes->items));
\r
29 excludes_contains(excludes_t excludes, fstream_t fstream)
\r
34 if(!excludes || !fstream)
\r
40 xbt_dynar_foreach(excludes->items, i, cur)
\r
42 if(!strcmp(fstream->name, cur->name) && !strcmp(fstream->directory, cur->directory))
\r
50 excludes_add(excludes_t excludes, fstream_t fstream)
\r
55 if(excludes_contains(excludes, fstream))
\r
58 xbt_dynar_push(excludes->items, &fstream);
\r
64 excludes_check(excludes_t excludes, fstreams_t fstreams)
\r
72 if(!excludes || !fstreams)
\r
76 xbt_dynar_foreach(excludes->items, i, exclude)
\r
80 xbt_dynar_foreach(fstreams->items, i, fstream)
\r
84 if(!strcmp(fstream->name, exclude->name) && !strcmp(fstream->directory, exclude->directory))
\r
94 WARN1("cannot exclude the file %s",exclude->name);
\r
102 excludes_free(void** excludesptr)
\r
104 if(!(*excludesptr))
\r
107 if((*((excludes_t*)excludesptr))->items)
\r
108 xbt_dynar_free((&(*((excludes_t*)excludesptr))->items));
\r
110 free(*excludesptr);
\r
111 *excludesptr = NULL;
\r