PR stabs/11479.
[deliverable/binutils-gdb.git] / include / filenames.h
index ca9e2732a3266fba66b53fe61f3370c3eef580dd..d5e34a0120011fe8959837d279c76b3f7ef696c9 100644 (file)
@@ -5,7 +5,7 @@
    use forward- and back-slash in path names interchangeably, and
    some of them have case-insensitive file names.
 
-   Copyright 2000, 2001 Free Software Foundation, Inc.
+   Copyright 2000, 2001, 2007, 2010 Free Software Foundation, Inc.
 
 This file is part of BFD, the Binary File Descriptor library.
 
@@ -21,11 +21,15 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
 
 #ifndef FILENAMES_H
 #define FILENAMES_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #if defined(__MSDOS__) || defined(_WIN32) || defined(__OS2__) || defined (__CYGWIN__)
 
 #ifndef HAVE_DOS_BASED_FILE_SYSTEM
@@ -33,19 +37,34 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #endif
 
 #define IS_DIR_SEPARATOR(c)    ((c) == '/' || (c) == '\\')
+
+#define HAS_DRIVE_SPEC(f)      (((f)[0]) && ((f)[1] == ':'))
+
+/* Remove the drive spec from F, assuming HAS_DRIVE_SPEC (f).
+   The result is a pointer to the remainder of F.  */
+#define STRIP_DRIVE_SPEC(f)    ((f) + 2)
+
 /* 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)
+#define IS_ABSOLUTE_PATH(f)    (IS_DIR_SEPARATOR((f)[0]) || HAS_DRIVE_SPEC(f))
 
 #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)
+
+#define HAS_DRIVE_SPEC(f)      (0)
+#define STRIP_DRIVE_SPEC(f)    (f)
 
 #endif /* not DOSish */
 
+extern int filename_cmp (const char *s1, const char *s2);
+#define FILENAME_CMP(s1, s2)   filename_cmp(s1, s2)
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* FILENAMES_H */
This page took 0.023181 seconds and 4 git commands to generate.