* filenames.h (HAS_DRIVE_SPEC, STRIP_DRIVE_SPEC): New macros.

From-SVN: r158359
This commit is contained in:
Doug Evans 2010-04-14 21:16:34 +00:00 committed by Doug Evans
parent 31ce8a531c
commit 8b9b8e9305
2 changed files with 16 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2010-04-14 Doug Evans <dje@google.com>
* filenames.h (HAS_DRIVE_SPEC, STRIP_DRIVE_SPEC): New macros.
2010-04-13 Matthias Klose <doko@ubuntu.com>
* elf: Remove empty directory.

View 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, 2007 Free Software Foundation, Inc.
Copyright 2000, 2001, 2007, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@ -37,17 +37,27 @@ extern "C" {
#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 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 HAS_DRIVE_SPEC(f) (0)
#define STRIP_DRIVE_SPEC(f) (f)
#endif /* not DOSish */
extern int filename_cmp (const char *s1, const char *s2);