2010-01-13 Tristan Gingold <gingold@adacore.com>
authorTristan Gingold <gingold@adacore.com>
Wed, 13 Jan 2010 08:48:26 +0000 (08:48 +0000)
committerTristan Gingold <gingold@adacore.com>
Wed, 13 Jan 2010 08:48:26 +0000 (08:48 +0000)
* archive.c (normalize): Use lbasename.
(bfd_bsd_truncate_arname): Ditto.
(bfd_gnu_truncate_arname): Ditto.

bfd/ChangeLog
bfd/archive.c

index fe66f42593165032f5c7fe6cc4b1293786bbb3bb..8c397c3ee8835917c12c689c33ab29183f4aa3f2 100644 (file)
@@ -1,3 +1,9 @@
+2010-01-13  Tristan Gingold  <gingold@adacore.com>
+
+       * archive.c (normalize): Use lbasename.
+       (bfd_bsd_truncate_arname): Ditto.
+       (bfd_gnu_truncate_arname): Ditto.
+
 2010-01-12  Tristan Gingold  <gingold@adacore.com>
 
        * makefile.vms (CFLAGS): Turns warnings into informational messages.
@@ -21,7 +27,7 @@
 
 2010-01-11  Tristan Gingold  <gingold@adacore.com>
 
-        * archive.c (bfd_slurp_armap): Also check for Mach-O sorted armap.
+       * archive.c (bfd_slurp_armap): Also check for Mach-O sorted armap.
 
 2010-01-11  Nick Clifton  <nickc@redhat.com>
 
index 321337eaac6acc1d8f0535ad538df2742ca3c714..2e1c8f0b1d81401a5b6d51495707037c926d2524 100644 (file)
@@ -1312,23 +1312,7 @@ normalize (bfd *abfd, const char *file)
 static const char *
 normalize (bfd *abfd ATTRIBUTE_UNUSED, const char *file)
 {
-  const char *filename = strrchr (file, '/');
-
-#ifdef HAVE_DOS_BASED_FILE_SYSTEM
-  {
-    /* We could have foo/bar\\baz, or foo\\bar, or d:bar.  */
-    char *bslash = strrchr (file, '\\');
-    if (filename == NULL || (bslash != NULL && bslash > filename))
-      filename = bslash;
-    if (filename == NULL && file[0] != '\0' && file[1] == ':')
-      filename = file + 1;
-  }
-#endif
-  if (filename != NULL)
-    filename++;
-  else
-    filename = file;
-  return filename;
+  return lbasename (file);
 }
 #endif
 
@@ -1820,25 +1804,9 @@ bfd_bsd_truncate_arname (bfd *abfd, const char *pathname, char *arhdr)
 {
   struct ar_hdr *hdr = (struct ar_hdr *) arhdr;
   size_t length;
-  const char *filename = strrchr (pathname, '/');
+  const char *filename = lbasename (pathname);
   size_t maxlen = ar_maxnamelen (abfd);
 
-#ifdef HAVE_DOS_BASED_FILE_SYSTEM
-  {
-    /* We could have foo/bar\\baz, or foo\\bar, or d:bar.  */
-    char *bslash = strrchr (pathname, '\\');
-    if (filename == NULL || (bslash != NULL && bslash > filename))
-      filename = bslash;
-    if (filename == NULL && pathname[0] != '\0' && pathname[1] == ':')
-      filename = pathname + 1;
-  }
-#endif
-
-  if (filename == NULL)
-    filename = pathname;
-  else
-    ++filename;
-
   length = strlen (filename);
 
   if (length <= maxlen)
@@ -1868,26 +1836,9 @@ bfd_gnu_truncate_arname (bfd *abfd, const char *pathname, char *arhdr)
 {
   struct ar_hdr *hdr = (struct ar_hdr *) arhdr;
   size_t length;
-  const char *filename = strrchr (pathname, '/');
+  const char *filename = lbasename (pathname);
   size_t maxlen = ar_maxnamelen (abfd);
 
-#ifdef HAVE_DOS_BASED_FILE_SYSTEM
-  {
-    /* We could have foo/bar\\baz, or foo\\bar, or d:bar.  */
-    char *bslash = strrchr (pathname, '\\');
-
-    if (filename == NULL || (bslash != NULL && bslash > filename))
-      filename = bslash;
-    if (filename == NULL && pathname[0] != '\0' && pathname[1] == ':')
-      filename = pathname + 1;
-  }
-#endif
-
-  if (filename == NULL)
-    filename = pathname;
-  else
-    ++filename;
-
   length = strlen (filename);
 
   if (length <= maxlen)