From: Lucas De Marchi Date: Fri, 17 Oct 2014 00:22:32 +0000 (-0300) Subject: strbuf: do not calculate next step in size on all calls X-Git-Tag: v19~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8863154e446d6b60ff6afd6572ce5d9c9651a59c;p=platform%2Fupstream%2Fkmod.git strbuf: do not calculate next step in size on all calls We only need to check if the new size is less or equal than the current size. We don't really need to calculate the next step. --- diff --git a/shared/strbuf.c b/shared/strbuf.c index a11f638..af445d9 100644 --- a/shared/strbuf.c +++ b/shared/strbuf.c @@ -33,14 +33,14 @@ static bool buf_grow(struct strbuf *buf, size_t newsize) void *tmp; size_t sz; + if (newsize <= buf->size) + return true; + if (newsize % BUF_STEP == 0) sz = newsize; else sz = ((newsize / BUF_STEP) + 1) * BUF_STEP; - if (buf->size == sz) - return true; - tmp = realloc(buf->bytes, sz); if (sz > 0 && tmp == NULL) return false;