Add a new warning, "Newline in left-justified string for printf/sprintf"
[p5sagit/p5-mst-13.2.git] / perl.h
diff --git a/perl.h b/perl.h
index 62f43a2..a7360f8 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -2111,11 +2111,18 @@ typedef pthread_key_t   perl_key;
 #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
@@ -2140,6 +2147,14 @@ typedef pthread_key_t    perl_key;
 #  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.
@@ -2167,7 +2182,7 @@ typedef pthread_key_t     perl_key;
  *   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)
@@ -4084,7 +4099,7 @@ int flock(int fd, int op);
 #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,