#ifndef SVf
# ifdef CHECK_FORMAT
# define SVf "p"
+# ifndef SVf256
+# define SVf256 SVf
+# endif
# else
# define SVf "_"
# endif
#endif
+#ifndef SVf256
+# define SVf256 ".256"SVf
+#endif
+
#ifndef UVf
# ifdef CHECK_FORMAT
# define UVf UVuf
# endif
#endif
+#ifndef __attribute__format__
+# ifdef CHECK_FORMAT
+# define __attribute__format__(x,y,z) __attribute__((__format__(x,y,z)))
+# else
+# define __attribute__format__(x,y,z)
+# endif
+#endif
+
/* Some unistd.h's give a prototype for pause() even though
HAS_PAUSE ends up undefined. This causes the #define
below to be rejected by the compiler. Sigh.
* that a file is in "binary" mode -- that is, that no translation
* of bytes occurs on read or write operations.
*/
-# define USEMYBINMODE / **/
+# define USEMYBINMODE /**/
# include <io.h> /* for setmode() prototype */
# define my_binmode(fp, iotype, mode) \
(PerlLIO_setmode(fileno(fp), mode) != -1 ? TRUE : FALSE)
#if O_TEXT != O_BINARY
/* If you have different O_TEXT and O_BINARY and you are a CLRF shop,
* that is, you are somehow DOSish. */
-# if defined(__BEOS__) || defined(__VOS__)
+# if defined(__BEOS__) || defined(__VOS__) || defined(__CYGWIN__)
/* BeOS has O_TEXT != O_BINARY but O_TEXT and O_BINARY have no effect;
* BeOS is always UNIXoid (LF), not DOSish (CRLF). */
/* VOS has O_TEXT != O_BINARY, and they have effect,