#undef UV
#endif
+/* Configure gets this right but the UTS compiler gets it wrong.
+ -- Hal Morris <hom00@utsglobal.com> */
+#ifdef UTS
+# undef UVTYPE
+# define UVTYPE unsigned
+#endif
+
/*
The IV type is supposed to be long enough to hold any integral
value or a pointer.
# endif
#endif
+/*
+ I've tracked down a weird bug in Perl5.6.1 to the UTS compiler's
+ mishandling of MY_UV_MAX in util.c. It is defined as
+ #ifndef MY_UV_MAX
+ # define MY_UV_MAX ((UV)IV_MAX * (UV)2 + (UV)1)
+ #endif
+ The compiler handles {double floating point value} >= MY_UV_MAX as if
+ MY_UV_MAX were the signed integer -1. In fact it will do the same
+ thing with (UV)(0xffffffff), in place of MY_UV_MAX, though 0xffffffff
+ *without* the typecast to UV works fine.
+
+ hom00@utsglobal.com (Hal Morris) 2001-05-02
+
+ */
+
+#ifdef UTS
+# define MY_UV_MAX 0xffffffff
+#endif
+
#define IV_DIG (BIT_DIGITS(IVSIZE * 8))
#define UV_DIG (BIT_DIGITS(UVSIZE * 8))
# if defined(NeXT) || defined(__NeXT__) /* or whatever catches all NeXTs */
char *crypt (); /* Maybe more hosts will need the unprototyped version */
# else
-# if !defined(WIN32)
+# if !defined(WIN32) && !defined(VMS)
char *crypt (const char*, const char*);
# endif /* !WIN32 */
# endif /* !NeXT && !__NeXT__ */
#define HINT_FILETEST_ACCESS 0x00400000
#define HINT_UTF8 0x00800000
#define HINT_UTF8_DISTINCT 0x01000000
-#define HINT_RE_ASCIIR 0x02000000
/* Various states of an input record separator SV (rs, nrs) */
#define RsSNARF(sv) (! SvOK(sv))
#ifdef IAMSUID
#ifdef I_SYS_STATVFS
+# if defined(PERL_SCO) && !defined(_SVID3)
+# define _SVID3
+# endif
# include <sys/statvfs.h> /* for f?statvfs() */
#endif
#ifdef I_SYS_MOUNT