This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Callback behaviour in hints
[perl5.git] / util.h
diff --git a/util.h b/util.h
index 4f92eeb..c077b87 100644 (file)
--- a/util.h
+++ b/util.h
@@ -1,36 +1,43 @@
-/* $Header: util.h,v 1.0 87/12/18 13:06:33 root Exp $
+/*    util.h
+ *
+ *    Copyright (c) 1991-2002, Larry Wall
+ *
+ *    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 1.0  87/12/18  13:06:33  root
- * Initial revision
- * 
  */
 
-/* is the string for makedir a directory name or a filename? */
-
-#define MD_DIR 0
-#define MD_FILE 1
+#ifdef VMS
+#  define PERL_FILE_IS_ABSOLUTE(f) \
+       (*(f) == '/'                                                    \
+        || (strchr(f,':')                                              \
+            || ((*(f) == '[' || *(f) == '<')                           \
+                && (isALNUM((f)[1]) || strchr("$-_]>",(f)[1])))))
 
-void   util_init();
-int    doshell();
-char   *safemalloc();
-char   *saferealloc();
-char   *safecpy();
-char   *safecat();
-char   *cpytill();
-char   *instr();
-#ifdef SETUIDGID
-    int                eaccess();
-#endif
-char   *getwd();
-void   cat();
-void   prexit();
-char   *get_a_line();
-char   *savestr();
-int    makedir();
-void   setenv();
-int    envix();
-void   notincl();
-char   *getval();
-void   growstr();
-void   setdef();
+#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 */
+#  ifdef NETWARE
+#    define PERL_FILE_IS_ABSOLUTE(f) \
+       (((f)[0] && (f)[1] == ':')              /* drive name */        \
+        || ((f)[0] == '\\' && (f)[1] == '\\')  /* UNC path */  \
+        ||     ((f)[3] == ':'))                                /* volume name, currently only sys */
+#  else                /* !NETWARE */
+#    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, ':') && *(f) != ':')
+#      else /* !MACOS_TRADITIONAL */
+#        define PERL_FILE_IS_ABSOLUTE(f)       (*(f) == '/')
+#      endif /* MACOS_TRADITIONAL */
+#    endif     /* DOSISH */
+#   endif      /* NETWARE */
+#  endif       /* WIN32 */
+#endif         /* VMS */