This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Solaris was happy, but change 28247 removed the wrong dTHX as far as
[perl5.git] / util.h
diff --git a/util.h b/util.h
index a0cc3fa..ff11b78 100644 (file)
--- a/util.h
+++ b/util.h
@@ -1,54 +1,43 @@
-/* $RCSfile: util.h,v $$Revision: 4.0.1.3 $$Date: 92/06/08 16:09:20 $
+/*    util.h
  *
- *    Copyright (c) 1991, Larry Wall
+ *    Copyright (C) 1991, 1992, 1993, 1999, 2001, 2002,
+ *    by Larry Wall and others
  *
  *    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.1.3  92/06/08  16:09:20  lwall
- * patch20: bcopy() and memcpy() now tested for overlap safety
- * 
- * Revision 4.0.1.2  91/11/05  19:18:40  lwall
- * patch11: safe malloc code now integrated into Perl's malloc when possible
- * 
- * Revision 4.0.1.1  91/06/07  12:11:00  lwall
- * patch4: new copyright notice
- * 
- * 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])))))
 
-#ifndef safemalloc
-char   *safemalloc();
-char   *saferealloc();
-#endif
-char   *cpytill();
-char   *instr();
-char   *fbminstr();
-char   *screaminstr();
-void   fbmcompile();
-char   *savestr();
-void   my_setenv();
-int    envix();
-void   growstr();
-char   *ninstr();
-char   *rninstr();
-char   *nsavestr();
-FILE   *mypopen();
-int    mypclose();
-#if !defined(HAS_BCOPY) || !defined(SAFE_BCOPY)
-char   *my_bcopy();
-#endif
-#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
-char   *my_bzero();
-#endif
-#ifndef HAS_MEMCMP
-int    my_memcmp();
-#endif
-unsigned long scanoct();
-unsigned long scanhex();
+#else          /* !VMS */
+#  if defined(WIN32) || defined(__CYGWIN__)
+#    define PERL_FILE_IS_ABSOLUTE(f) \
+       (*(f) == '/' || *(f) == '\\'            /* UNC/rooted path */   \
+        || ((f)[0] && (f)[1] == ':'))          /* drive name */
+#  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) || defined(__SYMBIAN32__)
+#      define PERL_FILE_IS_ABSOLUTE(f) \
+       (*(f) == '/'                                                    \
+        || ((f)[0] && (f)[1] == ':'))          /* drive name */
+#    else      /* NEITHER DOSISH NOR EPOCISH NOR SYMBIANISH */
+#      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 */