home *** CD-ROM | disk | FTP | other *** search
- From: bang!iverson@uunet.uu.net (Tim Iverson)
- Newsgroups: comp.sources.bugs,gnu.utils.bug,alt.sources
- Subject: Bug report and unofficial patch for patch v12u2
- Message-ID: <1991Jan22.081802.7268@bang.uucp>
- Date: 22 Jan 91 08:18:02 GMT
- Approved: info-gnu@prep.ai.mit.edu
-
- --text follows this line--
- This is an unofficial patch to patch 12u2 (the unified-diff-eating patch) to
- overcome a problem when creating new files.
-
- The Problem: For the sake of brevity, let q(x) = 2^x*INITHUNKMAX-1.
- When patch tries to create a file with q(n) lines
- immediately after creating a q(m) line file and n < m,
- patch will halt with a segmentation violation.
-
- Actually, if you happen to test this on Tuesday with a
- sickle moon in the noontime sky, you may experience other
- bizzare problems due to memory corruption (but only if a
- dog barks while you run the test).
-
- To Recreate: Simply feed patch a file that contains two patches, one
- for a 499 line file diff'd against /dev/null, followed by
- one for a 124 line file diff'd against /dev/null.
-
- To Fix: Apply the enclosed patch.
-
- - Tim Iverson
- iverson@xstor.com -/- uunet!xstor!iverson
-
- BTW, this file also includes a patch to common.h to overcome a type clash
- with a standard include file under SCO Unix. It won't hurt you to leave it
- there, but if SCO offends your delicate sensibilities, hacking it off may
- yield a momentary pleasure.
-
- #
- ################ patch starts here
- ##
- Prereq: "12u2"
- --- ../patch-2.0.12u2/patchlevel.h Mon Jan 7 03:22:06 1991
- +++ ./patchlevel.h Mon Jan 21 18:12:33 1991
- @@ -1,1 +1,1 @@
- -#define PATCHLEVEL "12u2"
- +#define PATCHLEVEL "12u3"
- --- ../patch-2.0.12u2/pch.c Mon Jan 7 03:19:12 1991
- +++ ./pch.c Mon Jan 21 18:09:50 1991
- @@ -779,7 +779,7 @@
- malformed ();
- if (!p_first && !p_ptrn_lines)
- p_first = 1;
- - p_max = p_ptrn_lines + p_repl_lines;
- + p_max = p_ptrn_lines + p_repl_lines + 1;
- while (p_max >= hunkmax)
- grow_hunkmax();
- p_max = hunkmax;
- --- ../common.h Mon Jan 21 23:06:40 1991
- +++ ./common.h Mon Jan 21 23:06:15 1991
- @@ -153,9 +153,11 @@
- long atol();
- long lseek();
- char *mktemp();
- +#ifndef M_UNIX
- #ifdef CHARSPRINTF
- char *sprintf();
- #else
- int sprintf();
- +#endif
- #endif
- char *getenv();
- ##
- ################ patch ends here
- #
-