summaryrefslogtreecommitdiff
path: root/contrib/cvs/diff
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2000-10-02 06:33:59 +0000
committerPeter Wemm <peter@FreeBSD.org>2000-10-02 06:33:59 +0000
commitd65e2e3fd6d2fae775587bc7e7fd82dae22de4ec (patch)
tree69361a1e7edad9b079647803c60eec4bbeeabe2f /contrib/cvs/diff
parent6adbf7beeb8444a3af05381ac20070a4922c27df (diff)
parenta3b502f88fd3d67bf547634d411d567524c4c1b1 (diff)
Notes
Diffstat (limited to 'contrib/cvs/diff')
-rw-r--r--contrib/cvs/diff/ChangeLog30
-rw-r--r--contrib/cvs/diff/diff.c43
-rw-r--r--contrib/cvs/diff/util.c2
3 files changed, 53 insertions, 22 deletions
diff --git a/contrib/cvs/diff/ChangeLog b/contrib/cvs/diff/ChangeLog
index a43518258d0b4..e3272e84c2ddc 100644
--- a/contrib/cvs/diff/ChangeLog
+++ b/contrib/cvs/diff/ChangeLog
@@ -1,3 +1,33 @@
+2000-08-03 Larry Jones <larry.jones@sdrc.com>
+
+ * diff3.c (read_diff): Use cvs_temp_name () instead of tmpnam () so
+ there's at least a chance of getting the file in the correct tmp dir.
+
+2000-07-10 Larry Jones <larry.jones@sdrc.com>
+
+ * util.c (printf_output): Fix type clashes.
+
+2000-06-15 Larry Jones <larry.jones@sdrc.com>
+
+ * diff3.c (diff3_run, make_3way_diff): Plug memory leaks.
+
+1999-12-29 Jim Kingdon <http://developer.redhat.com/>
+
+ * diff.c (compare_files): Use explicit braces with if-if-else, per
+ GNU coding standards and gcc -Wall.
+
+1999-11-23 Larry Jones <larry.jones@sdrc.com>
+
+ * diff3.c: Explicitly initialize zero_diff3 to placate neurotic
+ compilers that gripe about implicitly initialized const variables.
+ Reported by Eric Veum <sysv@yahoo.com>.
+
+1999-09-15 Larry Jones <larry.jones@sdrc.com>
+
+ * diff.c (diff_run): Move the setjmp call before the options
+ processing since option errors can call fatal which in turn
+ calls longjmp.
+
1999-05-06 Jim Kingdon <http://www.cyclic.com>
* Makefile.in (DISTFILES): Remove libdiff.mak.
diff --git a/contrib/cvs/diff/diff.c b/contrib/cvs/diff/diff.c
index e5f7e42bfcdaf..aa91913fe61a3 100644
--- a/contrib/cvs/diff/diff.c
+++ b/contrib/cvs/diff/diff.c
@@ -247,11 +247,21 @@ diff_run (argc, argv, out, callbacks_arg)
/* Do our initializations. */
initialize_main (&argc, &argv);
-
- /* Decode the options. */
-
optind_old = optind;
optind = 0;
+
+ /* Set the jump buffer, so that diff may abort execution without
+ terminating the process. */
+ val = setjmp (diff_abort_buf);
+ if (val != 0)
+ {
+ optind = optind_old;
+ if (opened_file)
+ fclose (outfile);
+ return val;
+ }
+
+ /* Decode the options. */
while ((c = getopt_long (argc, argv,
"0123456789abBcC:dD:efF:hHiI:lL:nNpPqrsS:tTuU:vwW:x:X:y",
longopts, 0)) != EOF)
@@ -686,17 +696,6 @@ diff_run (argc, argv, out, callbacks_arg)
}
}
- /* Set the jump buffer, so that diff may abort execution without
- terminating the process. */
- val = setjmp (diff_abort_buf);
- if (val != 0)
- {
- optind = optind_old;
- if (opened_file)
- fclose (outfile);
- return val;
- }
-
val = compare_files (0, argv[optind], 0, argv[optind + 1], 0);
/* Print any messages that were saved up for last. */
@@ -1147,13 +1146,15 @@ compare_files (dir0, name0, dir1, name1, depth)
failed = 1;
}
if (inf[1].desc == -2)
- if (same_files)
- inf[1].desc = inf[0].desc;
- else if ((inf[1].desc = open (inf[1].name, O_RDONLY, 0)) < 0)
- {
- perror_with_name (inf[1].name);
- failed = 1;
- }
+ {
+ if (same_files)
+ inf[1].desc = inf[0].desc;
+ else if ((inf[1].desc = open (inf[1].name, O_RDONLY, 0)) < 0)
+ {
+ perror_with_name (inf[1].name);
+ failed = 1;
+ }
+ }
#if HAVE_SETMODE
if (binary_I_O)
diff --git a/contrib/cvs/diff/util.c b/contrib/cvs/diff/util.c
index c4d2d7169a159..ff9cceb89909e 100644
--- a/contrib/cvs/diff/util.c
+++ b/contrib/cvs/diff/util.c
@@ -366,7 +366,7 @@ printf_output (format, va_alist)
char *str;
int num;
int ch;
- unsigned char buf[100];
+ char buf[100];
while ((q = strchr (p, '%')) != NULL)
{