| 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) | 
|---|
| 31 | #      define PERL_FILE_IS_ABSOLUTE(f) \ | 
|---|
| 32 | (*(f) == '/'                                                    \ | 
|---|
| 33 | || ((f)[0] && (f)[1] == ':'))          /* drive name */ | 
|---|
| 34 | #    else       /* NEITHER DOSISH NOR EPOCISH */ | 
|---|
| 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 */ | 
|---|