version 1.20, 2007/02/27 07:59:13 |
version 1.21, 2007/05/29 00:19:10 |
|
|
if (cp[len - 1] != '\n') |
if (cp[len - 1] != '\n') |
len++; |
len++; |
if (len + 1 > bufsize) { |
if (len + 1 > bufsize) { |
char *newbuf; |
|
do { |
do { |
bufsize += 1024; |
bufsize += 1024; |
} while (len + 1 > bufsize); |
} while (len + 1 > bufsize); |
newbuf = xrealloc(buf, 1, bufsize); |
buf = xrealloc(buf, 1, bufsize); |
buf = newbuf; |
|
} |
} |
memcpy(buf, cp, len - 1); |
memcpy(buf, cp, len - 1); |
buf[len - 1] = '\n'; |
buf[len - 1] = '\n'; |
|
|
static void |
static void |
increase(void) |
increase(void) |
{ |
{ |
struct diff *p; |
|
char *q; |
|
size_t newsz, incr; |
size_t newsz, incr; |
|
|
/* are the memset(3) calls needed? */ |
/* are the memset(3) calls needed? */ |
newsz = szchanges == 0 ? 64 : 2 * szchanges; |
newsz = szchanges == 0 ? 64 : 2 * szchanges; |
incr = newsz - szchanges; |
incr = newsz - szchanges; |
|
|
p = xrealloc(d13, newsz, sizeof(*d13)); |
d13 = xrealloc(d13, newsz, sizeof(*d13)); |
memset(p + szchanges, 0, incr * sizeof(*d13)); |
memset(d13 + szchanges, 0, incr * sizeof(*d13)); |
d13 = p; |
d23 = xrealloc(d23, newsz, sizeof(*d23)); |
p = xrealloc(d23, newsz, sizeof(*d23)); |
memset(d23 + szchanges, 0, incr * sizeof(*d23)); |
memset(p + szchanges, 0, incr * sizeof(*d23)); |
de = xrealloc(de, newsz, sizeof(*de)); |
d23 = p; |
memset(de + szchanges, 0, incr * sizeof(*de)); |
p = xrealloc(de, newsz, sizeof(*de)); |
overlap = xrealloc(overlap, newsz, sizeof(*overlap)); |
memset(p + szchanges, 0, incr * sizeof(*de)); |
memset(overlap + szchanges, 0, incr * sizeof(*overlap)); |
de = p; |
|
q = xrealloc(overlap, newsz, sizeof(*overlap)); |
|
memset(q + szchanges, 0, incr * sizeof(*overlap)); |
|
overlap = q; |
|
szchanges = newsz; |
szchanges = newsz; |
} |
} |