#ifndef Quad_t
# if LONGSIZE == 8
# define Quad_t long
+# define Uquad_t unsigned long
# define PERL_QUAD_IS_LONG
# endif
#endif
#ifndef Quad_t
# if INTSIZE == 8
# define Quad_t int
+# define Uquad_t unsigned int
# define PERL_QUAD_IS_INT
# endif
#endif
# ifdef USE_LONG_LONG /* See above note about LP32. --jhi */
# if defined(HAS_LONG_LONG) && LONGLONGSIZE == 8
# define Quad_t long long
+# define Uquad_t unsigned long long
# define PERL_QUAD_IS_LONG_LONG
# endif
# endif
#ifdef Quad_t
# define HAS_QUAD
# ifndef Uquad_t
- /* Note that if your Quad_t is a typedef you *must* have defined
- * also Uquad_t yourself because 'unsigned type' is illegal. */
+ /* Note that if your Quad_t is a typedef (not a #define) you *MUST*
+ * have defined by now Uquad_t yourself because 'unsigned type'
+ * is illegal. */
# define Uquad_t unsigned Quad_t
# endif
#endif
# endif
#endif
+#ifndef MAXPATHLEN
+# ifdef PATH_MAX
+# ifdef _POSIX_PATH_MAX
+# if PATH_MAX > _POSIX_PATH_MAX
+/* MAXPATHLEN is supposed to include the final null character,
+ * as opposed to PATH_MAX and _POSIX_PATH_MAX. */
+# define MAXPATHLEN (PATH_MAX+1)
+# else
+# define MAXPATHLEN (_POSIX_PATH_MAX+1)
+# endif
+# else
+# define MAXPATHLEN (PATH_MAX+1)
+# endif
+# else
+# ifdef _POSIX_PATH_MAX
+# define MAXPATHLEN (_POSIX_PATH_MAX+1)
+# else
+# define MAXPATHLEN 1024 /* Err on the large side. */
+# endif
+# endif
+#endif
+
#ifndef FUNC_NAME_TO_PTR
#define FUNC_NAME_TO_PTR(name) name
#endif
# else
# ifdef I_MACH_CTHREADS
# include <mach/cthreads.h>
+# ifdef NeXT
+# define MUTEX_INIT_CALLS_MALLOC
+# endif
typedef cthread_t perl_os_thread;
typedef mutex_t perl_mutex;
typedef condition_t perl_cond;
Gid_t getegid _((void));
#endif
-#ifdef DEBUGGING
#ifndef Perl_debug_log
#define Perl_debug_log PerlIO_stderr()
#endif
+
+#ifdef DEBUGGING
#undef YYDEBUG
#define YYDEBUG 1
#define DEB(a) a
#endif
#ifdef MYMALLOC
-# ifdef I_MACH_CTHREADS
+# ifdef MUTEX_INIT_CALLS_MALLOC
# define MALLOC_INIT \
STMT_START { \
PL_malloc_mutex = NULL; \
want_vtbl_regdatum
};
-
/* Note: the lowest 8 bits are reserved for
stuffing into op->op_private */
#define HINT_INTEGER 0x00000001