source: branches/libc-0.6/src/binutils/include/filenames.h

Last change on this file was 610, checked in by bird, 22 years ago

This commit was generated by cvs2svn to compensate for changes in r609,
which included commits to RCS files with non-trunk default branches.

  • Property cvs2svn:cvs-rev set to 1.1.1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 2.0 KB
Line 
1/* Macros for taking apart, interpreting and processing file names.
2
3 These are here because some non-Posix (a.k.a. DOSish) systems have
4 drive letter brain-damage at the beginning of an absolute file name,
5 use forward- and back-slash in path names interchangeably, and
6 some of them have case-insensitive file names.
7
8 Copyright 2000, 2001 Free Software Foundation, Inc.
9
10This file is part of BFD, the Binary File Descriptor library.
11
12This program is free software; you can redistribute it and/or modify
13it under the terms of the GNU General Public License as published by
14the Free Software Foundation; either version 2 of the License, or
15(at your option) any later version.
16
17This program is distributed in the hope that it will be useful,
18but WITHOUT ANY WARRANTY; without even the implied warranty of
19MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20GNU General Public License for more details.
21
22You should have received a copy of the GNU General Public License
23along with this program; if not, write to the Free Software
24Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
25
26#ifndef FILENAMES_H
27#define FILENAMES_H
28
29#if defined(__MSDOS__) || defined(_WIN32) || defined(__OS2__) || defined (__CYGWIN__)
30
31#ifndef HAVE_DOS_BASED_FILE_SYSTEM
32#define HAVE_DOS_BASED_FILE_SYSTEM 1
33#endif
34
35#define IS_DIR_SEPARATOR(c) ((c) == '/' || (c) == '\\')
36/* Note that IS_ABSOLUTE_PATH accepts d:foo as well, although it is
37 only semi-absolute. This is because the users of IS_ABSOLUTE_PATH
38 want to know whether to prepend the current working directory to
39 a file name, which should not be done with a name like d:foo. */
40#define IS_ABSOLUTE_PATH(f) (IS_DIR_SEPARATOR((f)[0]) || (((f)[0]) && ((f)[1] == ':')))
41#define FILENAME_CMP(s1, s2) strcasecmp(s1, s2)
42
43#else /* not DOSish */
44
45#define IS_DIR_SEPARATOR(c) ((c) == '/')
46#define IS_ABSOLUTE_PATH(f) (IS_DIR_SEPARATOR((f)[0]))
47#define FILENAME_CMP(s1, s2) strcmp(s1, s2)
48
49#endif /* not DOSish */
50
51#endif /* FILENAMES_H */
Note: See TracBrowser for help on using the repository browser.