aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2010-01-18 06:15:57 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2010-01-18 06:15:57 +0100
commit9e0879a1cb991e5305e2c226e56ba0080019f828 (patch)
tree08cbfdeb5cd2677de7398e246f0a39a4254eb9b3
parent032bf6553346537cb02d0406c05548c8aa23c81f (diff)
downloadbusybox-9e0879a1cb991e5305e2c226e56ba0080019f828.tar.gz
diff: add NOINLINE
function old new delta create_J - 1805 +1805 diffreg 3159 1176 -1983 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/1 up/down: 1805/-1983) Total: -178 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--editors/diff.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/editors/diff.c b/editors/diff.c
index b89bbc1dc..0c75873b3 100644
--- a/editors/diff.c
+++ b/editors/diff.c
@@ -409,7 +409,7 @@ static void fetch(FILE_and_pos_t *ft, const off_t *ix, int a, int b, int ch)
* assigned dynamically allocated vectors of the offsets of the lines
* of the old and new file respectively. These must be freed by the caller.
*/
-static int *create_J(FILE_and_pos_t ft[2], int nlen[2], off_t *ix[2])
+static NOINLINE int *create_J(FILE_and_pos_t ft[2], int nlen[2], off_t *ix[2])
{
int *J, slen[2], *class, *member;
struct line *nfile[2], *sfile[2];
@@ -542,8 +542,10 @@ start:
tok1 = read_token(&ft[1], tok1);
if (((tok0 ^ tok1) & TOK_EMPTY) != 0 /* one is empty (not both) */
- || (!(tok0 & TOK_EMPTY) && TOK2CHAR(tok0) != TOK2CHAR(tok1)))
+ || (!(tok0 & TOK_EMPTY) && TOK2CHAR(tok0) != TOK2CHAR(tok1))
+ ) {
J[i] = 0; /* Break the correspondence */
+ }
} while (!(tok0 & tok1 & TOK_EMPTY));
}
}