summaryrefslogtreecommitdiff
path: root/editors/diff.c
diff options
context:
space:
mode:
Diffstat (limited to 'editors/diff.c')
-rw-r--r--editors/diff.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/editors/diff.c b/editors/diff.c
index 9110982..2e3a455 100644
--- a/editors/diff.c
+++ b/editors/diff.c
@@ -432,7 +432,8 @@ static NOINLINE int *create_J(FILE_and_pos_t ft[2], int nlen[2], off_t *ix[2])
token_t tok;
size_t sz = 100;
nfile[i] = xmalloc((sz + 3) * sizeof(nfile[i][0]));
- fseeko(ft[i].ft_fp, 0, SEEK_SET); /* ft gets here without the correct position */
+ /* ft gets here without the correct position, cant use seek_ft */
+ fseeko(ft[i].ft_fp, 0, SEEK_SET);
nlen[i] = 0;
/* We could zalloc nfile, but then zalloc starts showing in gprof at ~1% */
@@ -625,7 +626,7 @@ static bool diff(FILE* fp[2], char *file[2])
}
if (idx < 0)
continue;
- if (!(option_mask32 & FLAG(q)) && !((option_mask32 & FLAG(B)) && !nonempty)) {
+ if (!(option_mask32 & (FLAG(q)+FLAG(B))) && !nonempty) {
struct context_vec *cvp = vec;
int lowa = MAX(1, cvp->a - opt_U_context);
int upb = MIN(nlen[0], vec[idx].b + opt_U_context);
@@ -634,8 +635,8 @@ static bool diff(FILE* fp[2], char *file[2])
if (!anychange) {
/* Print the context/unidiff header first time through */
- printf("--- %s\n", label[0] ?: file[0]);
- printf("+++ %s\n", label[1] ?: file[1]);
+ printf("--- %s\n", label[0] ? label[0] : file[0]);
+ printf("+++ %s\n", label[1] ? label[1] : file[1]);
}
printf("@@ -");