This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Spelling fixes, thanks to Nicholas and to Ronald Kimball
[perl5.git] / util.h
1 /*    util.h
2  *
3  *    Copyright (C) 1991, 1992, 1993, 1999, 2001, 2002,
4  *    by Larry Wall and others
5  *
6  *    You may distribute under the terms of either the GNU General Public
7  *    License or the Artistic License, as specified in the README file.
8  *
9  */
10
11 #ifdef VMS
12 #  define PERL_FILE_IS_ABSOLUTE(f) \
13         (*(f) == '/'                                                    \
14          || (strchr(f,':')                                              \
15              || ((*(f) == '[' || *(f) == '<')                           \
16                  && (isALNUM((f)[1]) || strchr("$-_]>",(f)[1])))))
17
18 #else           /* !VMS */
19 #  if defined(WIN32) || defined(__CYGWIN__)
20 #    define PERL_FILE_IS_ABSOLUTE(f) \
21         (*(f) == '/' || *(f) == '\\'            /* UNC/rooted path */   \
22          || ((f)[0] && (f)[1] == ':'))          /* drive name */
23 #  else         /* !WIN32 */
24 #  ifdef NETWARE
25 #    define PERL_FILE_IS_ABSOLUTE(f) \
26         (((f)[0] && (f)[1] == ':')              /* drive name */        \
27          || ((f)[0] == '\\' && (f)[1] == '\\')  /* UNC path */  \
28          ||     ((f)[3] == ':'))                                /* volume name, currently only sys */
29 #  else         /* !NETWARE */
30 #    if defined(DOSISH) || defined(EPOC) || defined(__SYMBIAN32__)
31 #      define PERL_FILE_IS_ABSOLUTE(f) \
32         (*(f) == '/'                                                    \
33          || ((f)[0] && (f)[1] == ':'))          /* drive name */
34 #    else       /* NEITHER DOSISH NOR EPOCISH NOR SYMBIANISH */
35 #      ifdef MACOS_TRADITIONAL
36 #        define PERL_FILE_IS_ABSOLUTE(f)        (strchr(f, ':') && *(f) != ':')
37 #      else /* !MACOS_TRADITIONAL */
38 #        define PERL_FILE_IS_ABSOLUTE(f)        (*(f) == '/')
39 #      endif /* MACOS_TRADITIONAL */
40 #    endif      /* DOSISH */
41 #   endif       /* NETWARE */
42 #  endif        /* WIN32 */
43 #endif          /* VMS */