summaryrefslogtreecommitdiff
path: root/devel/idiff/patches
diff options
context:
space:
mode:
authoragc <agc>2001-03-22 10:04:36 +0000
committeragc <agc>2001-03-22 10:04:36 +0000
commit375025f9d2cc8506354d1ce5055e56385321baeb (patch)
tree7e753b24d2a4527582a001667c90488a7735dd58 /devel/idiff/patches
parent12a05cf011764c770f9d474277748407eac21086 (diff)
downloadpkgsrc-375025f9d2cc8506354d1ce5055e56385321baeb.tar.gz
Initial import of idiff, the interactive front-end to diff(1), into
the packages collection. idiff is taken from "The Unix Programming Environment" by Brian Kernighan and Rob Pike (Prentice-Hall, 1984, ISBN 0-13-937681-X).
Diffstat (limited to 'devel/idiff/patches')
-rw-r--r--devel/idiff/patches/patch-aa47
1 files changed, 47 insertions, 0 deletions
diff --git a/devel/idiff/patches/patch-aa b/devel/idiff/patches/patch-aa
new file mode 100644
index 00000000000..53406dfaa98
--- /dev/null
+++ b/devel/idiff/patches/patch-aa
@@ -0,0 +1,47 @@
+$NetBSD: patch-aa,v 1.1.1.1 2001/03/22 10:04:36 agc Exp $
+
+Don't overwrite read-only strings, so they can be placed in the text
+segment by a decent optimising compiler.
+
+--- idiff.c 2001/03/19 13:19:52 1.1
++++ idiff.c 2001/03/19 13:27:03
+@@ -1,5 +1,7 @@
+ /* idiff: interactive diff */
+
++#include <sys/param.h>
++
+ #include <stdio.h>
+ #include <ctype.h>
+ char *progname;
+@@ -11,6 +13,7 @@
+ {
+ FILE *fin, *fout, *f1, *f2, *efopen();
+ char buf[BUFSIZ], *mktemp();
++ char realdiffname[MAXPATHLEN];
+ char *diffout = "idiff.XXXXXX";
+
+ progname = argv[0];
+@@ -21,6 +24,8 @@
+ f1 = efopen(argv[1], "r");
+ f2 = efopen(argv[2], "r");
+ fout = efopen("idiff.out", "w");
++ (void) strcpy(realdiffname, diffout);
++ diffout = realdiffname;
+ mktemp(diffout);
+ sprintf(buf,"diff %s %s >%s",argv[1],argv[2],diffout);
+ system(buf);
+@@ -34,11 +39,14 @@
+ idiff(f1, f2, fin, fout) /* process diffs */
+ FILE *f1, *f2, *fin, *fout;
+ {
++ char realtempfile[MAXPATHLEN];
+ char *tempfile = "idiff.XXXXXX";
+ char buf[BUFSIZ], buf2[BUFSIZ], *mktemp();
+ FILE *ft, *efopen();
+ int cmd, n, from1, to1, from2, to2, nf1, nf2;
+
++ (void) strcpy(realtempfile, tempfile);
++ tempfile = realtempfile;
+ mktemp(tempfile);
+ nf1 = nf2 = 0;
+ while (fgets(buf, sizeof buf, fin) != NULL) {