]> Dogcows Code - chaz/tar/commitdiff
(exclude_pool, exclude_pool_size, allocated_exclude_pool_size,
authorPaul Eggert <eggert@cs.ucla.edu>
Thu, 8 Jul 1999 03:45:21 +0000 (03:45 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Thu, 8 Jul 1999 03:45:21 +0000 (03:45 +0000)
simple_exclude_array, simple_excludes, allocated_simple_excludes,
pattern_exclude_array, pattern_excludes, allocated_pattern_excludes,
add_exclude, add_exclude_file, check_exclude): Remove; now done in
../lib/exclude.c.

src/names.c

index e37c8af553302def9aa904bfa01ab71624945964..14c9c067bc8db057fee75bd5763391d729266d0d 100644 (file)
@@ -379,13 +379,10 @@ name_next (int change_dirs)
       else if (change_dirs && strcmp (name_buffer, "-C") == 0)
        chdir_flag = 1;
       else
-#if 0
-       if (!exclude_option || !check_exclude (name_buffer))
-#endif
-         {
-           unquote_string (name_buffer);
-           return name_buffer;
-         }
+       {
+         unquote_string (name_buffer);
+         return name_buffer;
+       }
     }
 
   /* No more names in file.  */
@@ -808,137 +805,3 @@ new_name (const char *path, const char *name)
   sprintf (buffer, "%s/%s", path, name);
   return buffer;
 }
-\f
-/* Excludes names.  */
-
-static char *exclude_pool = NULL;
-static size_t exclude_pool_size = 0;
-static size_t allocated_exclude_pool_size = 0;
-
-static char **simple_exclude_array = NULL;
-static int simple_excludes = 0;
-static int allocated_simple_excludes = 0;
-
-static char **pattern_exclude_array = NULL;
-static int pattern_excludes = 0;
-static int allocated_pattern_excludes = 0;
-
-/*---.
-| ?  |
-`---*/
-
-void
-add_exclude (char *name)
-{
-  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;
-    }
-
-  strcpy (exclude_pool + exclude_pool_size, name);
-  exclude_pool_size += name_size;
-}
-
-/*---.
-| ?  |
-`---*/
-
-void
-add_exclude_file (const char *name)
-{
-  FILE *file;
-  char buffer[1024];
-
-  if (strcmp (name, "-"))
-    file = fopen (name, "r");
-  else
-    {
-      request_stdin ("-X");
-      file = stdin;
-    }
-  if (!file)
-    FATAL_ERROR ((0, errno, _("Cannot open %s"), name));
-
-  while (fgets (buffer, 1024, file))
-    {
-      char *end_of_line = strrchr (buffer, '\n');
-
-      if (end_of_line)
-       *end_of_line = '\0';
-      add_exclude (buffer);
-    }
-  if (fclose (file) == EOF)
-    ERROR ((0, errno, "%s", name));
-}
-
-/*------------------------------------------------------------------.
-| Returns true if the file NAME should not be added nor extracted.  |
-`------------------------------------------------------------------*/
-
-int
-check_exclude (const char *name)
-{
-  int counter;
-
-  for (counter = 0; counter < pattern_excludes; counter++)
-    if (fnmatch (pattern_exclude_array[counter], name, FNM_LEADING_DIR) == 0)
-      return 1;
-
-  for (counter = 0; counter < simple_excludes; counter++)
-    {
-      /* Accept the output from strstr only if it is the last part of the
-        string.  FIXME: Find a faster way to do this.  */
-
-      char *string = strstr (name, simple_exclude_array[counter]);
-
-      if (string
-         && (string == name || string[-1] == '/')
-         && string[strlen (simple_exclude_array[counter])] == '\0')
-       return 1;
-    }
-  return 0;
-}
This page took 0.026027 seconds and 4 git commands to generate.