From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eli Zaretskii To: binutils@sourceware.cygnus.com Subject: DOS/Windows-related changes in the include subdirectory Date: Mon, 06 Sep 1999 01:14:00 -0000 Message-id: <199909060814.EAA23317@mescaline.gnu.org> X-SW-Source: 1999-09/msg00036.html This adds a new file with several macros for platform-independent handling of file names. 1999-07-08 Eli Zaretskii * filenames.h: New file. (DOSISH_FILENAMES, MONOCASE_FILENAMES, FILENAME_CMP): New macros. *** /dev/null Sat Jul 31 17:57:06 1999 --- include/filename.h Tue Jul 27 19:15:42 1999 *************** *** 0 **** --- 1,23 ---- + /* Macros for taking apart, interpreting and processing file names. + + These are here because some non-Posix (a.k.a. DOSish) systems have + the drive letter brain-damage at the beginning of an absolute file + name, use forward- and back-slash in path names interchangeably, and + some of them have case-insensitive file names. */ + + #if defined(__MSDOS__) || defined(_WIN32) + #define IS_SLASH(c) ((c) == '/' || (c) == '\\') + #define IS_ABSOLUTE(f) (IS_SLASH((f)[0]) || (f)[0] && (f)[1] == ':') + #define DOSISH_FILENAMES 1 + #define MONOCASE_FILENAMES 1 + #else + #define IS_SLASH(c) ((c) == '/') + #define IS_ABSOLUTE(f) (IS_SLASH((f)[0])) + #define MONOCASE_FILENAMES 0 + #endif + + #if MONOCASE_FILENAMES + #define FILENAME_CMP(s1, s2) strcasecmp(s1, s2) + #else + #define FILENAME_CMP(s1, s2) strcmp(s1, s2) + #endif