[PATCH] diff: don't exit in case we can't open input files. -2 bytes
Matheus Izvekov
mizvekov at gmail.com
Tue Jan 19 01:34:29 UTC 2010
>From d4cf19d20596bca797d58563f4404cf6a4932977 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov <mizvekov at gmail.com>
Date: Mon, 18 Jan 2010 23:27:56 -0200
Subject: [PATCH] diff: don't exit in case we can't open input files
This prevents recursion being aborted due to failures to open files.
---
editors/diff.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/editors/diff.c b/editors/diff.c
index b7a1387..9110982 100644
--- a/editors/diff.c
+++ b/editors/diff.c
@@ -671,14 +671,14 @@ static bool diff(FILE* fp[2], char *file[2])
static int diffreg(char *file[2])
{
- FILE *fp[2];
+ FILE *fp[2] = { stdin, stdin };
bool binary = false, differ = false;
int status = STATUS_SAME;
for (int i = 0; i < 2; i++) {
int fd = open_or_warn_stdin(file[i]);
if (fd == -1)
- xfunc_die();
+ goto out;
/* Our diff implementation is using seek.
* When we meet non-seekable file, we must make a temp copy.
*/
@@ -725,7 +725,7 @@ static int diffreg(char *file[2])
}
if (status != STATUS_SAME)
exit_status |= 1;
-
+out:
fclose_if_not_stdin(fp[0]);
fclose_if_not_stdin(fp[1]);
--
1.6.6
More information about the busybox
mailing list