Browse Source

(hash_string_hasher,hash_string_compare)
(hash_string_insert,hash_string_lookup,removed_prefixes_p)
(safer_name_suffix): Moved to paxutils

Sergey Poznyakoff 20 years ago
parent
commit
ca5e64504b
1 changed files with 0 additions and 133 deletions
  1. 0 133
      src/names.c

+ 0 - 133
src/names.c

@@ -864,53 +864,6 @@ excluded_name (char const *name)
   return excluded_filename (excluded, name + FILE_SYSTEM_PREFIX_LEN (name));
 }
 
-/* Hash tables of strings.  */
-
-/* Calculate the hash of a string.  */
-static size_t
-hash_string_hasher (void const *name, size_t n_buckets)
-{
-  return hash_string (name, n_buckets);
-}
-
-/* Compare two strings for equality.  */
-static bool
-hash_string_compare (void const *name1, void const *name2)
-{
-  return strcmp (name1, name2) == 0;
-}
-
-/* Return zero if TABLE contains a copy of STRING; otherwise, insert a
-   copy of STRING to TABLE and return 1.  */
-static bool
-hash_string_insert (Hash_table **table, char const *string)
-{
-  Hash_table *t = *table;
-  char *s = xstrdup (string);
-  char *e;
-
-  if (! ((t
-	  || (*table = t = hash_initialize (0, 0, hash_string_hasher,
-					    hash_string_compare, 0)))
-	 && (e = hash_insert (t, s))))
-    xalloc_die ();
-
-  if (e == s)
-    return 1;
-  else
-    {
-      free (s);
-      return 0;
-    }
-}
-
-/* Return 1 if TABLE contains STRING.  */
-static bool
-hash_string_lookup (Hash_table const *table, char const *string)
-{
-  return table && hash_lookup (table, string);
-}
-
 /* Names to avoid dumping.  */
 static Hash_table *avoided_name_table;
 
@@ -952,92 +905,6 @@ is_individual_file (char const *name)
 
 
 
-static Hash_table *prefix_table[2];
-
-/* Return true if file names of some members in the archive were stripped off
-   their leading components. We could have used
-        return prefix_table[0] || prefix_table[1]
-   but the following seems to be safer: */
-bool
-removed_prefixes_p (void)
-{
-  return (prefix_table[0] && hash_get_n_entries (prefix_table[0]) != 0)
-         || (prefix_table[1] && hash_get_n_entries (prefix_table[1]) != 0);
-}
-
-/* Return a safer suffix of FILE_NAME, or "." if it has no safer
-   suffix.  Check for fully specified file names and other atrocities.
-   Warn the user if we do not return NAME.  If LINK_TARGET is 1,
-   FILE_NAME is the target of a hard link, not a member name.  */
-
-char *
-safer_name_suffix (char const *file_name, bool link_target)
-{
-  char const *p;
-
-  if (absolute_names_option)
-    p = file_name;
-  else
-    {
-      /* Skip file system prefixes, leading file name components that contain
-	 "..", and leading slashes.  */
-
-      size_t prefix_len = FILE_SYSTEM_PREFIX_LEN (file_name);
-
-      for (p = file_name + prefix_len; *p; )
-	{
-          if (p[0] == '.' && p[1] == '.' && (ISSLASH (p[2]) || !p[2]))
-	    prefix_len = p + 2 - file_name;
-
-	  do
-	    {
-	      char c = *p++;
-	      if (ISSLASH (c))
-		break;
-	    }
-	  while (*p);
-	}
-
-      for (p = file_name + prefix_len; ISSLASH (*p); p++)
-	continue;
-      prefix_len = p - file_name;
-
-      if (prefix_len)
-	{
-	  char *prefix = alloca (prefix_len + 1);
-	  memcpy (prefix, file_name, prefix_len);
-	  prefix[prefix_len] = '\0';
-
-	  if (hash_string_insert (&prefix_table[link_target], prefix))
-	    {
-	      static char const *const diagnostic[] =
-	      {
-		N_("Removing leading `%s' from member names"),
-		N_("Removing leading `%s' from hard link targets")
-	      };
-	      WARN ((0, 0, _(diagnostic[link_target]), prefix));
-	    }
-	}
-    }
-
-  if (! *p)
-    {
-      if (p == file_name)
-	{
-	  static char const *const diagnostic[] =
-	  {
-	    N_("Substituting `.' for empty member name"),
-	    N_("Substituting `.' for empty hard link target")
-	  };
-	  WARN ((0, 0, "%s", _(diagnostic[link_target])));
-	}
-
-      p = ".";
-    }
-
-  return (char *) p;
-}
-
 /* Return the size of the prefix of FILE_NAME that is removed after
    stripping NUM leading file name components.  NUM must be
    positive.  */