-/* $Header: util.h,v 4.0 91/03/20 01:56:48 lwall Locked $
+/* util.h
*
- * Copyright (c) 1989, Larry Wall
+ * Copyright (c) 1991-2001, Larry Wall
*
- * You may distribute under the terms of the GNU General Public License
- * as specified in the README file that comes with the perl 3.0 kit.
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
*
- * $Log: util.h,v $
- * Revision 4.0 91/03/20 01:56:48 lwall
- * 4.0 baseline.
- *
*/
-EXT int *screamfirst INIT(Null(int*));
-EXT int *screamnext INIT(Null(int*));
+#ifdef VMS
+# define PERL_FILE_IS_ABSOLUTE(f) \
+ (*(f) == '/' \
+ || (strchr(f,':') \
+ || ((*(f) == '[' || *(f) == '<') \
+ && (isALNUM((f)[1]) || strchr("$-_]>",(f)[1])))))
-char *safemalloc();
-char *saferealloc();
-char *cpytill();
-char *instr();
-char *fbminstr();
-char *screaminstr();
-void fbmcompile();
-char *savestr();
-void setenv();
-int envix();
-void growstr();
-char *ninstr();
-char *rninstr();
-char *nsavestr();
-FILE *mypopen();
-int mypclose();
-#ifndef HAS_MEMCPY
-#ifndef HAS_BCOPY
-char *bcopy();
-#endif
-#ifndef HAS_BZERO
-char *bzero();
-#endif
-#endif
-unsigned long scanoct();
-unsigned long scanhex();
+#else /* !VMS */
+# ifdef WIN32
+# define PERL_FILE_IS_ABSOLUTE(f) \
+ (*(f) == '/' \
+ || ((f)[0] && (f)[1] == ':') /* drive name */ \
+ || ((f)[0] == '\\' && (f)[1] == '\\')) /* UNC path */
+# else /* !WIN32 */
+# if defined( DOSISH) || defined(EPOC)
+# define PERL_FILE_IS_ABSOLUTE(f) \
+ (*(f) == '/' \
+ || ((f)[0] && (f)[1] == ':')) /* drive name */
+# else /* NEITHER DOSISH NOR EPOCISH */
+# ifdef MACOS_TRADITIONAL
+# define PERL_FILE_IS_ABSOLUTE(f) (strchr(f, ':'))
+# else /* !MACOS_TRADITIONAL */
+# define PERL_FILE_IS_ABSOLUTE(f) (*(f) == '/')
+# endif /* MACOS_TRADITIONAL */
+# endif /* DOSISH */
+# endif /* WIN32 */
+#endif /* VMS */