- size_t name_size;
-
- unquote_string (name); /* FIXME: unquote in all cases? If ever? */
- name_size = strlen (name) + 1;
-
- if (exclude_pool_size + name_size > allocated_exclude_pool_size)
- {
- char *previous_exclude_pool = exclude_pool;
- char **cursor;
-
- allocated_exclude_pool_size = exclude_pool_size + name_size + 1024;
- exclude_pool = (char *)
- xrealloc (exclude_pool, allocated_exclude_pool_size);
-
- for (cursor = simple_exclude_array;
- cursor < simple_exclude_array + simple_excludes;
- cursor++)
- *cursor = exclude_pool + (*cursor - previous_exclude_pool);
- for (cursor = pattern_exclude_array;
- cursor < pattern_exclude_array + pattern_excludes;
- cursor++)
- *cursor = exclude_pool + (*cursor - previous_exclude_pool);
- }
-
- if (is_pattern (name))
- {
- if (pattern_excludes == allocated_pattern_excludes)
- {
- allocated_pattern_excludes += 32;
- pattern_exclude_array = (char **)
- xrealloc (pattern_exclude_array,
- allocated_pattern_excludes * sizeof (char *));
- }
- pattern_exclude_array[pattern_excludes++]
- = exclude_pool + exclude_pool_size;
- }
- else
- {
- if (simple_excludes == allocated_simple_excludes)
- {
- allocated_simple_excludes += 32;
- simple_exclude_array = (char **)
- xrealloc (simple_exclude_array,
- allocated_simple_excludes * sizeof (char *));
- }
- simple_exclude_array[simple_excludes++]
- = exclude_pool + exclude_pool_size;
- }