diff: debug macros; one trivial size optimization
function old new delta diffreg 1781 1815 +34 isqrt 64 - -64 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 1/0 up/down: 34/-64) Total: -30 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
3e02050314
commit
d8dd25a2a7
@ -14,6 +14,9 @@
|
|||||||
|
|
||||||
#include "libbb.h"
|
#include "libbb.h"
|
||||||
|
|
||||||
|
#define dbg_error_msg(...) ((void)0)
|
||||||
|
//#define dbg_error_msg(...) bb_error_msg(__VA_ARGS__)
|
||||||
|
|
||||||
// #define FSIZE_MAX 32768
|
// #define FSIZE_MAX 32768
|
||||||
|
|
||||||
/* NOINLINEs added to prevent gcc from merging too much into diffreg()
|
/* NOINLINEs added to prevent gcc from merging too much into diffreg()
|
||||||
@ -474,12 +477,13 @@ static int stone(int *a, int n, int *b, int *c)
|
|||||||
{
|
{
|
||||||
int i, k, y, j, l;
|
int i, k, y, j, l;
|
||||||
int oldc, tc, oldl;
|
int oldc, tc, oldl;
|
||||||
unsigned int numtries;
|
unsigned numtries;
|
||||||
|
int isq = isqrt(n);
|
||||||
#if ENABLE_FEATURE_DIFF_MINIMAL
|
#if ENABLE_FEATURE_DIFF_MINIMAL
|
||||||
const unsigned int bound =
|
const unsigned bound =
|
||||||
(option_mask32 & FLAG_d) ? UINT_MAX : MAX(256, isqrt(n));
|
(option_mask32 & FLAG_d) ? UINT_MAX : MAX(256, isq);
|
||||||
#else
|
#else
|
||||||
const unsigned int bound = MAX(256, isqrt(n));
|
const unsigned bound = MAX(256, isq);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
k = 0;
|
k = 0;
|
||||||
@ -769,6 +773,8 @@ static void dump_unified_vec(FILE *f1, FILE *f2)
|
|||||||
if (context_idx < 0)
|
if (context_idx < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
dbg_error_msg("dumping %d context_vecs", context_idx+1);
|
||||||
|
|
||||||
b = d = 0; /* gcc */
|
b = d = 0; /* gcc */
|
||||||
lowa = MAX(1, cvp->a - opt_U_context);
|
lowa = MAX(1, cvp->a - opt_U_context);
|
||||||
upb = MIN(nlen[0], context_vector[context_idx].b + opt_U_context);
|
upb = MIN(nlen[0], context_vector[context_idx].b + opt_U_context);
|
||||||
@ -860,6 +866,10 @@ static void change(const char *file1, FILE *f1, const char *file2, FILE *f2,
|
|||||||
int a, int b, int c, int d)
|
int a, int b, int c, int d)
|
||||||
{
|
{
|
||||||
if ((a > b && c > d) || (option_mask32 & FLAG_q)) {
|
if ((a > b && c > d) || (option_mask32 & FLAG_q)) {
|
||||||
|
//compat BUG: "diff -ub F1 F2" will output nothing, but will exit 1
|
||||||
|
//if F1 and F2 differ only in whitespace. "standard" diff exits 0.
|
||||||
|
//This is the place where this erroneous exitcode is set:
|
||||||
|
dbg_error_msg("%d: abcd:%d,%d,%d,%d, anychange=1", __LINE__, a,b,c,d);
|
||||||
anychange = 1;
|
anychange = 1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -885,6 +895,7 @@ static void change(const char *file1, FILE *f1, const char *file2, FILE *f2,
|
|||||||
context_vector[context_idx].b = b;
|
context_vector[context_idx].b = b;
|
||||||
context_vector[context_idx].c = c;
|
context_vector[context_idx].c = c;
|
||||||
context_vector[context_idx].d = d;
|
context_vector[context_idx].d = d;
|
||||||
|
dbg_error_msg("new context_vec[%d]:%d,%d,%d,%d", context_idx, a,b,c,d);
|
||||||
anychange = 1;
|
anychange = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1074,6 +1085,7 @@ static unsigned diffreg(const char *file1, const char *file2, int flags)
|
|||||||
closem:
|
closem:
|
||||||
if (anychange) {
|
if (anychange) {
|
||||||
exit_status |= 1;
|
exit_status |= 1;
|
||||||
|
dbg_error_msg("exit_status|=1 = %d", exit_status);
|
||||||
if (rval == D_SAME)
|
if (rval == D_SAME)
|
||||||
rval = D_DIFFER;
|
rval = D_DIFFER;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user