builtin-apply.c: get rid of an unnecessary use of temporary array
Instead of allocating a temporary array imglen[], copying contents to it from another array img->line[], and then using imglen[], use the value from img->line[], whose value does not change during the whole process. This incidentally removes a use of C99 variable length array, which some older compilers apparently are not happy with. Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
dcda3614d4
commit
0b1fac320c
@ -1875,18 +1875,16 @@ static int match_fragment(struct image *img,
|
|||||||
size_t imgoff = 0;
|
size_t imgoff = 0;
|
||||||
size_t preoff = 0;
|
size_t preoff = 0;
|
||||||
size_t postlen = postimage->len;
|
size_t postlen = postimage->len;
|
||||||
size_t imglen[preimage->nr];
|
|
||||||
for (i = 0; i < preimage->nr; i++) {
|
for (i = 0; i < preimage->nr; i++) {
|
||||||
size_t prelen = preimage->line[i].len;
|
size_t prelen = preimage->line[i].len;
|
||||||
|
size_t imglen = img->line[try_lno+i].len;
|
||||||
|
|
||||||
imglen[i] = img->line[try_lno+i].len;
|
if (!fuzzy_matchlines(img->buf + try + imgoff, imglen,
|
||||||
if (!fuzzy_matchlines(
|
preimage->buf + preoff, prelen))
|
||||||
img->buf + try + imgoff, imglen[i],
|
|
||||||
preimage->buf + preoff, prelen))
|
|
||||||
return 0;
|
return 0;
|
||||||
if (preimage->line[i].flag & LINE_COMMON)
|
if (preimage->line[i].flag & LINE_COMMON)
|
||||||
postlen += imglen[i] - prelen;
|
postlen += imglen - prelen;
|
||||||
imgoff += imglen[i];
|
imgoff += imglen;
|
||||||
preoff += prelen;
|
preoff += prelen;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1900,7 +1898,7 @@ static int match_fragment(struct image *img,
|
|||||||
fixed_buf = xmalloc(imgoff);
|
fixed_buf = xmalloc(imgoff);
|
||||||
memcpy(fixed_buf, img->buf + try, imgoff);
|
memcpy(fixed_buf, img->buf + try, imgoff);
|
||||||
for (i = 0; i < preimage->nr; i++)
|
for (i = 0; i < preimage->nr; i++)
|
||||||
preimage->line[i].len = imglen[i];
|
preimage->line[i].len = img->line[try_lno+i].len;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Update the preimage buffer and the postimage context lines.
|
* Update the preimage buffer and the postimage context lines.
|
||||||
|
Loading…
Reference in New Issue
Block a user