From 9e54a34b9df1fe94208c9ebaa6b1a38ce88212f4 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Tue, 26 Oct 2010 09:37:52 +0100 Subject: Reduce string catenation overhead a little bit in readline functions. When we make a temporary dynstr for the buffered text to be appended, we can use dynstr_new_from_constant_memory, since the buffer won't change while the temporary string lives. Thanks to Richard Braakman for pointing this out. --- dynstr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dynstr.c b/dynstr.c index e5f6878..ef5a251 100644 --- a/dynstr.c +++ b/dynstr.c @@ -443,7 +443,7 @@ static Dynstr *readline_helper(int (*callback)(FILE *, int), FILE *f, int fd) buf[buflen++] = c; if (buflen == sizeof(buf)) { - temp1 = dynstr_new_from_memory(buf, buflen); + temp1 = dynstr_new_from_constant_memory(buf, buflen); if (temp1 == NULL) goto error; temp2 = dynstr_cat(line, temp1, (void *) NULL); @@ -460,7 +460,7 @@ static Dynstr *readline_helper(int (*callback)(FILE *, int), FILE *f, int fd) } if (buflen > 0) { - temp1 = dynstr_new_from_memory(buf, buflen); + temp1 = dynstr_new_from_constant_memory(buf, buflen); if (temp1 == NULL) goto error; temp2 = dynstr_cat(line, temp1, (void *) NULL); -- cgit v1.2.1