diff options
author | Bruno Haible <bruno@clisp.org> | 2002-01-02 11:06:23 +0000 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2009-06-22 00:29:22 +0200 |
commit | 337c1d83449465012744c7e7b4e1e198fd9d71ee (patch) | |
tree | 4f5546d371ce89264386b4b50f95d39758a0cbca /lib/basename.c | |
parent | 8817d43473b02eac28150c5c5048956e49d7b815 (diff) | |
download | external_gettext-337c1d83449465012744c7e7b4e1e198fd9d71ee.zip external_gettext-337c1d83449465012744c7e7b4e1e198fd9d71ee.tar.gz external_gettext-337c1d83449465012744c7e7b4e1e198fd9d71ee.tar.bz2 |
Better support for DOS-like systems.
Diffstat (limited to 'lib/basename.c')
-rw-r--r-- | lib/basename.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/basename.c b/lib/basename.c index 578c177..9a4f340 100644 --- a/lib/basename.c +++ b/lib/basename.c @@ -31,6 +31,15 @@ #include <stdio.h> #include <assert.h> +#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__ + /* Win32, OS/2, DOS */ +# define HAS_DEVICE(P) \ + ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ + && (P)[1] == ':') +# define FILESYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0) +# define ISSLASH(C) ((C) == '/' || (C) == '\\') +#endif + #ifndef FILESYSTEM_PREFIX_LEN # define FILESYSTEM_PREFIX_LEN(Filename) 0 #endif |