OSDN Git Service

2010-08-03 Janus Weil <janus@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / libiberty / lbasename.c
index 200a87f..ed1dd1f 100644 (file)
@@ -15,8 +15,8 @@ Library General Public License for more details.
 
 You should have received a copy of the GNU Library General Public
 License along with libiberty; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
+not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+Boston, MA 02110-1301, USA.  */
 
 /*
 
@@ -37,26 +37,48 @@ and a path ending in @code{/} returns the empty string after it.
 
 */
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 #include "ansidecl.h"
 #include "libiberty.h"
 #include "safe-ctype.h"
 #include "filenames.h"
 
 const char *
-lbasename (name)
-     const char *name;
+unix_lbasename (const char *name)
+{
+  const char *base;
+
+  for (base = name; *name; name++)
+    if (IS_UNIX_DIR_SEPARATOR (*name))
+      base = name + 1;
+
+  return base;
+}
+
+const char *
+dos_lbasename (const char *name)
 {
   const char *base;
 
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
   /* Skip over a possible disk name.  */
   if (ISALPHA (name[0]) && name[1] == ':') 
     name += 2;
-#endif
 
   for (base = name; *name; name++)
-    if (IS_DIR_SEPARATOR (*name))
+    if (IS_DOS_DIR_SEPARATOR (*name))
       base = name + 1;
 
   return base;
 }
+
+const char *
+lbasename (const char *name)
+{
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  return dos_lbasename (name);
+#else
+  return unix_lbasename (name);
+#endif
+}