* that causes clashes with case-insensitive linkers */
Free_t Perl_mfree _((Malloc_t where));
-# undef safemalloc
-# undef safecalloc
-# undef saferealloc
-# undef safefree
# define safemalloc Perl_malloc
# define safecalloc Perl_calloc
# define saferealloc Perl_realloc
# define safefree Perl_mfree
+#else /* MYMALLOC */
+# define safemalloc safesysmalloc
+# define safecalloc safesyscalloc
+# define saferealloc safesysrealloc
+# define safefree safesysfree
#endif /* MYMALLOC */
#if defined(STANDARD_C) && defined(I_STDDEF)
#endif /* USE_THREADS */
/* Work around some cygwin32 problems with importing global symbols */
-#if defined(CYGWIN32) && defined(DLLIMPORT)
+#if defined(CYGWIN32)
+# if defined(DLLIMPORT)
# include "cw32imp.h"
+# endif
+/* USEMYBINMODE
+ * This symbol, if defined, indicates that the program should
+ * use the routine my_binmode(FILE *fp, char iotype) to insure
+ * that a file is in "binary" mode -- that is, that no translation
+ * of bytes occurs on read or write operations.
+ */
+# define USEMYBINMODE / **/
+# define my_binmode(fp, iotype) \
+ (PerlLIO_setmode(PerlIO_fileno(fp), O_BINARY) != -1 ? TRUE : NULL)
#endif
#include "regexp.h"