mirror of
https://github.com/sheumann/hush.git
synced 2025-01-02 09:31:26 +00:00
diff: more compiler compat fixes. no code changes
Signed-off-by: Dan Fandrich <dan@coneharvesters.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
f111b67100
commit
1821d188ca
@ -40,6 +40,7 @@ CFLAGS += $(call cc-option,-Werror,)
|
|||||||
## Classic *(off_t*)(void*)ptr does not work,
|
## Classic *(off_t*)(void*)ptr does not work,
|
||||||
## and I am unwilling to do crazy gcc specific ({ void *ppp = ...; })
|
## and I am unwilling to do crazy gcc specific ({ void *ppp = ...; })
|
||||||
## stuff in macros. This would obfuscate the code too much.
|
## stuff in macros. This would obfuscate the code too much.
|
||||||
|
## Maybe try __attribute__((__may_alias__))?
|
||||||
#CFLAGS += $(call cc-ifversion, -eq, 0404, -fno-strict-aliasing)
|
#CFLAGS += $(call cc-ifversion, -eq, 0404, -fno-strict-aliasing)
|
||||||
endif
|
endif
|
||||||
# gcc 3.x emits bogus "old style proto" warning on find.c:alloc_action()
|
# gcc 3.x emits bogus "old style proto" warning on find.c:alloc_action()
|
||||||
|
@ -471,7 +471,7 @@ start:
|
|||||||
ix[i][j] = nfile[i][j].offset;
|
ix[i][j] = nfile[i][j].offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* lenght of prefix and suffix is calculated */
|
/* length of prefix and suffix is calculated */
|
||||||
for (; pref < nlen[0] && pref < nlen[1] &&
|
for (; pref < nlen[0] && pref < nlen[1] &&
|
||||||
nfile[0][pref + 1].value == nfile[1][pref + 1].value;
|
nfile[0][pref + 1].value == nfile[1][pref + 1].value;
|
||||||
pref++);
|
pref++);
|
||||||
@ -501,7 +501,7 @@ start:
|
|||||||
free(nfile[1]);
|
free(nfile[1]);
|
||||||
|
|
||||||
class = xmalloc((slen[0] + 1) * sizeof(class[0]));
|
class = xmalloc((slen[0] + 1) * sizeof(class[0]));
|
||||||
for (int i = 1; i <= slen[0]; i++) /* Unsorting */
|
for (i = 1; i <= slen[0]; i++) /* Unsorting */
|
||||||
class[sfile[0][i].serial] = sfile[0][i].value;
|
class[sfile[0][i].serial] = sfile[0][i].value;
|
||||||
free(nfile[0]);
|
free(nfile[0]);
|
||||||
#else
|
#else
|
||||||
@ -565,7 +565,7 @@ static bool diff(FILE* fp[2], char *file[2])
|
|||||||
FILE_and_pos_t ft[2];
|
FILE_and_pos_t ft[2];
|
||||||
typedef struct { int a, b; } vec_t[2];
|
typedef struct { int a, b; } vec_t[2];
|
||||||
vec_t *vec = NULL;
|
vec_t *vec = NULL;
|
||||||
int i = 1, idx = -1;
|
int i = 1, j, k, idx = -1;
|
||||||
bool anychange = false;
|
bool anychange = false;
|
||||||
int *J;
|
int *J;
|
||||||
|
|
||||||
@ -608,8 +608,8 @@ static bool diff(FILE* fp[2], char *file[2])
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int j = 0; j < 2; j++)
|
for (j = 0; j < 2; j++)
|
||||||
for (int k = v[j].a; k < v[j].b; k++)
|
for (k = v[j].a; k < v[j].b; k++)
|
||||||
nonempty |= (ix[j][k+1] - ix[j][k] != 1);
|
nonempty |= (ix[j][k+1] - ix[j][k] != 1);
|
||||||
|
|
||||||
vec = xrealloc_vector(vec, 6, ++idx);
|
vec = xrealloc_vector(vec, 6, ++idx);
|
||||||
@ -624,6 +624,7 @@ static bool diff(FILE* fp[2], char *file[2])
|
|||||||
if (idx < 0 || ((option_mask32 & FLAG(B)) && !nonempty))
|
if (idx < 0 || ((option_mask32 & FLAG(B)) && !nonempty))
|
||||||
goto cont;
|
goto cont;
|
||||||
if (!(option_mask32 & FLAG(q))) {
|
if (!(option_mask32 & FLAG(q))) {
|
||||||
|
int lowa;
|
||||||
vec_t span, *cvp = vec;
|
vec_t span, *cvp = vec;
|
||||||
|
|
||||||
if (!anychange) {
|
if (!anychange) {
|
||||||
@ -633,7 +634,7 @@ static bool diff(FILE* fp[2], char *file[2])
|
|||||||
}
|
}
|
||||||
|
|
||||||
printf("@@");
|
printf("@@");
|
||||||
for (int j = 0; j < 2; j++) {
|
for (j = 0; j < 2; j++) {
|
||||||
int a = span[j].a = MAX(1, (*cvp)[j].a - opt_U_context);
|
int a = span[j].a = MAX(1, (*cvp)[j].a - opt_U_context);
|
||||||
int b = span[j].b = MIN(nlen[j], vec[idx][j].b + opt_U_context);
|
int b = span[j].b = MIN(nlen[j], vec[idx][j].b + opt_U_context);
|
||||||
|
|
||||||
@ -647,12 +648,12 @@ static bool diff(FILE* fp[2], char *file[2])
|
|||||||
* Output changes in "unified" diff format--the old and new lines
|
* Output changes in "unified" diff format--the old and new lines
|
||||||
* are printed together.
|
* are printed together.
|
||||||
*/
|
*/
|
||||||
for (int lowa = span[0].a; ; lowa = (*cvp++)[0].b + 1) {
|
for (lowa = span[0].a; ; lowa = (*cvp++)[0].b + 1) {
|
||||||
bool end = cvp > &vec[idx];
|
bool end = cvp > &vec[idx];
|
||||||
fetch(&ft[0], ix[0], lowa, end ? span[0].b : (*cvp)[0].a - 1, ' ');
|
fetch(&ft[0], ix[0], lowa, end ? span[0].b : (*cvp)[0].a - 1, ' ');
|
||||||
if (end)
|
if (end)
|
||||||
break;
|
break;
|
||||||
for (int j = 0; j < 2; j++)
|
for (j = 0; j < 2; j++)
|
||||||
fetch(&ft[j], ix[j], (*cvp)[j].a, (*cvp)[j].b, j ? '+' : '-');
|
fetch(&ft[j], ix[j], (*cvp)[j].a, (*cvp)[j].b, j ? '+' : '-');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user