5424 |
size_t fulllen = len + strlen(p) + 1; |
size_t fulllen = len + strlen(p) + 1; |
5425 |
|
|
5426 |
if (flag & RMESCAPE_GROW) { |
if (flag & RMESCAPE_GROW) { |
5427 |
|
int strloc = str - (char *)stackblock(); |
5428 |
r = makestrspace(fulllen, expdest); |
r = makestrspace(fulllen, expdest); |
5429 |
|
/* p and str may be invalidated by makestrspace */ |
5430 |
|
str = (char *)stackblock() + strloc; |
5431 |
|
p = str + len; |
5432 |
} else if (flag & RMESCAPE_HEAP) { |
} else if (flag & RMESCAPE_HEAP) { |
5433 |
r = ckmalloc(fulllen); |
r = ckmalloc(fulllen); |
5434 |
} else { |
} else { |