a01d808
diff -upr sed-4.2.2/sed/sed.c sed-4.2.2_new/sed/sed.c
a01d808
--- sed-4.2.2/sed/sed.c	2013-05-03 13:15:23.841235793 +0200
a01d808
+++ sed-4.2.2_new/sed/sed.c	2013-05-03 13:15:23.842235796 +0200
a01d808
@@ -163,14 +163,21 @@ main(argc, argv)
a01d808
   int argc;
a01d808
   char **argv;
a01d808
 {
a01d808
-#ifdef REG_PERL
a01d808
-#define SHORTOPTS "bcsnrzRuEe:f:l:i::V:"
a01d808
+#if defined(REG_PERL) && \
a01d808
+    (defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) || defined(MSDOS) || defined(__EMX__))
a01d808
+#define SHORTOPTS "bsnrzRuEe:f:l:i::V:"
a01d808
+#elif defined(REG_PERL)
a01d808
+#define SHORTOPTS "snrzRuEe:f:l:i::V:"
a01d808
+#elif defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) || defined(MSDOS) || defined(__EMX__)
a01d808
+#define SHORTOPTS "bsnrzuEe:f:l:i::V:"
a01d808
 #else
a01d808
-#define SHORTOPTS "bcsnrzuEe:f:l:i::V:"
a01d808
+#define SHORTOPTS "snrzuEe:f:l:i::V:"
a01d808
 #endif
a01d808
 
a01d808
   static struct option longopts[] = {
a01d808
+#if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) || defined(MSDOS) || defined(__EMX__)
a01d808
     {"binary", 0, NULL, 'b'},
a01d808
+#endif
a01d808
     {"regexp-extended", 0, NULL, 'r'},
a01d808
 #ifdef REG_PERL
a01d808
     {"regexp-perl", 0, NULL, 'R'},
a01d808
@@ -283,10 +290,12 @@ main(argc, argv)
a01d808
 	  posixicity = POSIXLY_BASIC;
a01d808
 	  break;
a01d808
 
a01d808
+#if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) || defined(MSDOS) || defined(__EMX__)
a01d808
         case 'b':
a01d808
 	  read_mode = "rb";
a01d808
 	  write_mode = "wb";
a01d808
 	  break;
a01d808
+#endif
a01d808
 
a01d808
 	/* Undocumented, for compatibility with BSD sed.  */
a01d808
 	case 'E':