diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-11-23 14:40:00 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-11-23 14:40:00 +0000 |
commit | 4c83025ea6fd8ccc450f822e87da0e1187d62aca (patch) | |
tree | e165e7352507a8205b8086fddfe9596482604ede | |
parent | 9a280fa7e65a8b9412acb15fd049219d30a90a2c (diff) | |
download | busybox-4c83025ea6fd8ccc450f822e87da0e1187d62aca.tar.gz |
diff: emit /dev/null if diff -rN diffs a file against /dev/null
function old new delta
diffreg 1782 1786 +4
-rw-r--r-- | editors/diff.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/editors/diff.c b/editors/diff.c index 0e96c8496..7fce70d08 100644 --- a/editors/diff.c +++ b/editors/diff.c @@ -858,7 +858,7 @@ static void print_header(const char *file1, const char *file2) * lines appended (beginning at b). If c is greater than d then there are * lines missing from the to file. */ -static void change(char *file1, FILE *f1, char *file2, FILE *f2, +static void change(const char *file1, FILE *f1, const char *file2, FILE *f2, int a, int b, int c, int d) { if ((a > b && c > d) || (option_mask32 & FLAG_q)) { @@ -902,7 +902,7 @@ static void change(char *file1, FILE *f1, char *file2, FILE *f2, } -static void output(char *file1, FILE *f1, char *file2, FILE *f2) +static void output(const char *file1, FILE *f1, const char *file2, FILE *f2) { /* Note that j0 and j1 can't be used as they are defined in math.h. * This also allows the rather amusing variable 'j00'... */ @@ -999,7 +999,7 @@ static void output(char *file1, FILE *f1, char *file2, FILE *f2) */ /* NB: files can be not REGular. The only sure thing that they * are not both DIRectories. */ -static unsigned diffreg(char *file1, char *file2, int flags) +static unsigned diffreg(const char *file1, const char *file2, int flags) { int *member; /* will be overlaid on nfile[1] */ int *class; /* will be overlaid on nfile[0] */ @@ -1022,13 +1022,11 @@ static unsigned diffreg(char *file1, char *file2, int flags) if (flags & D_EMPTY1) /* can't be stdin, but xfopen_stdin() is smaller code */ - f1 = xfopen_stdin(bb_dev_null); - else - f1 = xfopen_stdin(file1); + file1 = bb_dev_null; + f1 = xfopen_stdin(file1); if (flags & D_EMPTY2) - f2 = xfopen_stdin(bb_dev_null); - else - f2 = xfopen_stdin(file2); + file2 = bb_dev_null; + f2 = xfopen_stdin(file2); /* NB: if D_EMPTY1/2 is set, other file is always a regular file, * not pipe/fifo/chardev/etc - D_EMPTY is used by "diff -r" only, |