aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/diff/diffreg.c
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2017-03-12 04:04:16 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2017-03-12 04:04:16 +0000
commitd5b187aefb8832bb5435f8c0c33ba954d9424e43 (patch)
tree31452a68b80db49c8395ecd0cfefebf01ca32269 /usr.bin/diff/diffreg.c
parentec0ada9dc45313ec4921e42c0282f706ea1bce6d (diff)
Notes
Diffstat (limited to 'usr.bin/diff/diffreg.c')
-rw-r--r--usr.bin/diff/diffreg.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/usr.bin/diff/diffreg.c b/usr.bin/diff/diffreg.c
index 81610ecf80a1..7d8c0e724c9a 100644
--- a/usr.bin/diff/diffreg.c
+++ b/usr.bin/diff/diffreg.c
@@ -200,7 +200,7 @@ static void range(int, int, const char *);
static void uni_range(int, int);
static void dump_context_vec(FILE *, FILE *, int);
static void dump_unified_vec(FILE *, FILE *, int);
-static void prepare(int, FILE *, off_t, int);
+static void prepare(int, FILE *, size_t, int);
static void prune(void);
static void equiv(struct line *, int, struct line *, int, int *);
static void unravel(int);
@@ -315,6 +315,8 @@ diffreg(char *file1, char *file2, int flags, int capsicum)
struct kevent *e;
cap_rights_t rights_ro;
+ e = NULL;
+ kq = -1;
f1 = f2 = NULL;
rval = D_SAME;
anychange = 0;
@@ -474,7 +476,7 @@ diffreg(char *file1, char *file2, int flags, int capsicum)
ixnew = xreallocarray(ixnew, len[1] + 2, sizeof(*ixnew));
check(f1, f2, flags);
output(file1, f1, file2, f2, flags);
- if (ostdout != -1) {
+ if (ostdout != -1 && e != NULL) {
/* close the pipe to pr and restore stdout */
int wstatus;
@@ -555,7 +557,7 @@ splice(char *dir, char *path)
}
static void
-prepare(int i, FILE *fd, off_t filesize, int flags)
+prepare(int i, FILE *fd, size_t filesize, int flags)
{
struct line *p;
int h;