This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: DOS/Windows patches, take 2



These are the patches for the include subdirectory:

2000-05-14  Eli Zaretskii  <eliz@is.elta.co.il>

	* filenames.h: New file.
	(HAVE_DOS_BASED_FILE_SYSTEM, IS_DIR_SEPARATOR)
	(IS_ABSOLUTE_PATH, FILENAME_CMP): New macros.

*** ./include/filenames.h.orig	Fri May 12 18:38:40 2000
--- ./include/filenames.h	Fri May 12 18:39:04 2000
***************
*** 0 ****
--- 1,28 ----
+ /* 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.  */
+ 
+ #ifndef FILENAMES_H
+ #define FILENAMES_H
+ 
+ #if defined(__MSDOS__) || defined(_WIN32) || defined(__OS2__)
+ #ifndef HAVE_DOS_BASED_FILE_SYSTEM
+ #define HAVE_DOS_BASED_FILE_SYSTEM 1
+ #endif
+ #define IS_DIR_SEPARATOR(c)	((c) == '/' || (c) == '\\')
+ /* Note that IS_ABSOLUTE_PATH accepts d:foo as well, although it is
+    only semi-absolute.  This is because the users of IS_ABSOLUTE_PATH
+    want to know whether to prepend the current working directory to
+    a file name, which should not be done with a name like d:foo.  */
+ #define IS_ABSOLUTE_PATH(f)	(IS_DIR_SEPARATOR((f)[0]) || (((f)[0]) && ((f)[1] == ':')))
+ #define FILENAME_CMP(s1, s2)	strcasecmp(s1, s2)
+ #else  /* not DOSish */
+ #define IS_DIR_SEPARATOR(c)	((c) == '/')
+ #define IS_ABSOLUTE_PATH(f)	(IS_DIR_SEPARATOR((f)[0]))
+ #define FILENAME_CMP(s1, s2)	strcmp(s1, s2)
+ #endif /* not DOSish */
+ 
+ #endif /* FILENAMES_H */

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]