*
*/
+#ifndef PERL_UTIL_H_
+#define PERL_UTIL_H_
+
+
#ifdef VMS
# define PERL_FILE_IS_ABSOLUTE(f) \
(*(f) == '/' \
|| ((*(f) == '[' || *(f) == '<') \
&& (isWORDCHAR((f)[1]) || strchr("$-_]>",(f)[1])))))
-#else /* !VMS */
-# if defined(WIN32) || defined(__CYGWIN__)
-# define PERL_FILE_IS_ABSOLUTE(f) \
+#elif 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) \
+#elif defined(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(__SYMBIAN32__)
-# define PERL_FILE_IS_ABSOLUTE(f) \
+#elif defined(DOSISH) || defined(__SYMBIAN32__)
+# define PERL_FILE_IS_ABSOLUTE(f) \
(*(f) == '/' \
|| ((f)[0] && (f)[1] == ':')) /* drive name */
-# else /* NEITHER DOSISH NOR SYMBIANISH */
-# define PERL_FILE_IS_ABSOLUTE(f) (*(f) == '/')
-# endif /* DOSISH */
-# endif /* NETWARE */
-# endif /* WIN32 */
-#endif /* VMS */
+#else /* NEITHER DOSISH NOR SYMBIANISH */
+# define PERL_FILE_IS_ABSOLUTE(f) (*(f) == '/')
+#endif
/*
=head1 Miscellaneous Functions
#define Perl_drand48_init(seed) (Perl_drand48_init_r(&PL_random_state, (seed)))
#define Perl_drand48() (Perl_drand48_r(&PL_random_state))
+#ifdef PERL_CORE
+/* uses a different source of randomness to avoid interfering with the results
+ * of rand() */
+#define Perl_internal_drand48() (Perl_drand48_r(&PL_internal_random_state))
+#endif
+
#ifdef USE_C_BACKTRACE
typedef struct {
# define HS_CXT cv
#endif
+#define instr(haystack, needle) strstr(haystack, needle)
+
+#ifdef HAS_MEMMEM
+# define ninstr(big, bigend, little, lend) \
+ ((char *) memmem((big), (bigend) - (big), \
+ (little), (lend) - (little)))
+#endif
+
+#ifdef __Lynx__
+/* Missing proto on LynxOS */
+int mkstemp(char*);
+#endif
+
+#if defined(HAS_MKOSTEMP) && defined(PERL_CORE)
+# define Perl_my_mkostemp(templte, flags) mkostemp(templte, flags)
+#endif
+#if defined(HAS_MKSTEMP) && defined(PERL_CORE)
+# define Perl_my_mkstemp(templte) mkstemp(templte)
+#endif
+
+#endif /* PERL_UTIL_H_ */
+
/*
* ex: set ts=8 sts=4 sw=4 et:
*/