sed/sed-4.2.2-fixed-opts.patch

42 lines
1.4 KiB
Diff

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