xref: /openbsd-src/gnu/usr.bin/perl/util.h (revision b2ea75c1b17e1a9a339660e7ed45cd24946b230e)
1 /*    util.h
2  *
3  *    Copyright (c) 1991-2001, Larry Wall
4  *
5  *    You may distribute under the terms of either the GNU General Public
6  *    License or the Artistic License, as specified in the README file.
7  *
8  */
9 
10 #ifdef VMS
11 #  define PERL_FILE_IS_ABSOLUTE(f) \
12 	(*(f) == '/'							\
13 	 || (strchr(f,':')						\
14 	     || ((*(f) == '[' || *(f) == '<')				\
15 		 && (isALNUM((f)[1]) || strchr("$-_]>",(f)[1])))))
16 
17 #else		/* !VMS */
18 #  ifdef WIN32
19 #    define PERL_FILE_IS_ABSOLUTE(f) \
20 	(*(f) == '/'							\
21 	 || ((f)[0] && (f)[1] == ':')		/* drive name */	\
22 	 || ((f)[0] == '\\' && (f)[1] == '\\'))	/* UNC path */
23 #  else		/* !WIN32 */
24 #    if defined( DOSISH) || defined(EPOC)
25 #      define PERL_FILE_IS_ABSOLUTE(f) \
26 	(*(f) == '/'							\
27 	 || ((f)[0] && (f)[1] == ':'))		/* drive name */
28 #    else	/* NEITHER DOSISH NOR EPOCISH */
29 #      ifdef MACOS_TRADITIONAL
30 #        define PERL_FILE_IS_ABSOLUTE(f)	(strchr(f, ':') && *(f) != ':')
31 #      else /* !MACOS_TRADITIONAL */
32 #        define PERL_FILE_IS_ABSOLUTE(f)	(*(f) == '/')
33 #      endif /* MACOS_TRADITIONAL */
34 #    endif	/* DOSISH */
35 #  endif	/* WIN32 */
36 #endif		/* VMS */
37