cvsdist 0761d22
--- patch-2.5.4/patch.c.ifdef	Tue Mar  5 09:42:45 2002
cvsdist 0761d22
+++ patch-2.5.4/patch.c	Tue Mar  5 09:42:47 2002
cvsdist 0761d22
@@ -88,8 +88,9 @@
cvsdist 0761d22
 
cvsdist 0761d22
 static char const *do_defines; /* symbol to patch using ifdef, ifndef, etc. */
cvsdist 0761d22
 static char const if_defined[] = "\n#ifdef %s\n";
cvsdist 0761d22
-static char const not_defined[] = "#ifndef %s\n";
cvsdist 0761d22
-static char const else_defined[] = "\n#else\n";
cvsdist 0761d22
+static char const not_defined[] = "\n#ifndef %s\n";
cvsdist 0761d22
+static char const elseis_defined[] = "\n#else /* %s */\n";
cvsdist 0761d22
+static char const elsenot_defined[] = "\n#else /* not %s */\n";
cvsdist 0761d22
 static char const end_defined[] = "\n#endif /* %s */\n";
cvsdist 0761d22
 
cvsdist 0761d22
 static int Argc;
cvsdist 0761d22
@@ -1014,12 +1015,13 @@
cvsdist 0761d22
 		return FALSE;
cvsdist 0761d22
 	    if (R_do_defines) {
cvsdist 0761d22
 		if (def_state == OUTSIDE) {
cvsdist 0761d22
-		    fprintf (fp, outstate->after_newline + if_defined,
cvsdist 0761d22
+                   fprintf (fp, outstate->after_newline + not_defined,
cvsdist 0761d22
 			     R_do_defines);
cvsdist 0761d22
 		    def_state = IN_IFNDEF;
cvsdist 0761d22
 		}
cvsdist 0761d22
 		else if (def_state == IN_IFDEF) {
cvsdist 0761d22
-		    fprintf (fp, outstate->after_newline + else_defined);
cvsdist 0761d22
+                   fprintf (fp, outstate->after_newline + elsenot_defined,
cvsdist 0761d22
+                            R_do_defines);
cvsdist 0761d22
 		    def_state = IN_ELSE;
cvsdist 0761d22
 		}
cvsdist 0761d22
 		if (ferror (fp))
cvsdist 0761d22
@@ -1038,7 +1040,8 @@
cvsdist 0761d22
 		return FALSE;
cvsdist 0761d22
 	    if (R_do_defines) {
cvsdist 0761d22
 		if (def_state == IN_IFNDEF) {
cvsdist 0761d22
-		    fprintf (fp, outstate->after_newline + else_defined);
cvsdist 0761d22
+                   fprintf (fp, outstate->after_newline + elseis_defined,
cvsdist 0761d22
+                            R_do_defines);
cvsdist 0761d22
 		    def_state = IN_ELSE;
cvsdist 0761d22
 		}
cvsdist 0761d22
 		else if (def_state == OUTSIDE) {
cvsdist 0761d22
@@ -1069,7 +1072,8 @@
cvsdist 0761d22
 		return FALSE;
cvsdist 0761d22
 	    assert (outstate->after_newline);
cvsdist 0761d22
 	    if (R_do_defines) {
cvsdist 0761d22
-	       fprintf (fp, not_defined, R_do_defines);
cvsdist 0761d22
+              fprintf (fp, outstate->after_newline + not_defined, 
cvsdist 0761d22
+                       R_do_defines);
cvsdist 0761d22
 	       if (ferror (fp))
cvsdist 0761d22
 		write_fatal ();
cvsdist 0761d22
 	       def_state = IN_IFNDEF;
cvsdist 0761d22
@@ -1086,7 +1090,8 @@
cvsdist 0761d22
 	    while (pch_char (old) == '!');
cvsdist 0761d22
 
cvsdist 0761d22
 	    if (R_do_defines) {
cvsdist 0761d22
-		fprintf (fp, outstate->after_newline + else_defined);
cvsdist 0761d22
+               fprintf (fp, outstate->after_newline + elseis_defined,
cvsdist 0761d22
+                        R_do_defines);
cvsdist 0761d22
 		if (ferror (fp))
cvsdist 0761d22
 		  write_fatal ();
cvsdist 0761d22
 		def_state = IN_ELSE;
cvsdist 0761d22
@@ -1124,7 +1129,8 @@
cvsdist 0761d22
 		def_state = IN_IFDEF;
cvsdist 0761d22
 	    }
cvsdist 0761d22
 	    else if (def_state == IN_IFNDEF) {
cvsdist 0761d22
-		fprintf (fp, outstate->after_newline + else_defined);
cvsdist 0761d22
+               fprintf (fp, outstate->after_newline + elseis_defined,
cvsdist 0761d22
+                        R_do_defines);
cvsdist 0761d22
 		def_state = IN_ELSE;
cvsdist 0761d22
 	    }
cvsdist 0761d22
 	    if (ferror (fp))