diff options
author | DJ Delorie <dj@delorie.com> | 2010-04-24 01:03:15 +0000 |
---|---|---|
committer | DJ Delorie <dj@delorie.com> | 2010-04-24 01:03:15 +0000 |
commit | 141f9cf2ce693533a657b6e60d7510d17aa22750 (patch) | |
tree | 8b0f879d9279a12eed19b7fedffb305b40ac208f /libiberty/lbasename.c | |
parent | 3741d048b4b32f49d741e27428b959487855b063 (diff) | |
download | binutils-redhat-141f9cf2ce693533a657b6e60d7510d17aa22750.tar.gz |
merge from gcc
Diffstat (limited to 'libiberty/lbasename.c')
-rw-r--r-- | libiberty/lbasename.c | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/libiberty/lbasename.c b/libiberty/lbasename.c index 56fcd62507..ed1dd1fdee 100644 --- a/libiberty/lbasename.c +++ b/libiberty/lbasename.c @@ -46,19 +46,39 @@ and a path ending in @code{/} returns the empty string after it. #include "filenames.h" const char * -lbasename (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 +} |