Don't memmove the buffer content unless it's needed
This commit is contained in:
+6
-2
@@ -50,7 +50,10 @@ uc_dbuf_ensure(DBuf *buf, size_t capacity)
|
||||
return 0;
|
||||
len = uc_dbuf_len(buf);
|
||||
sz = buf->start - buf->bufstart;
|
||||
memmove(buf->bufstart, buf->start, len);
|
||||
|
||||
if (buf->bufstart != buf->start)
|
||||
memmove(buf->bufstart, buf->start, len);
|
||||
|
||||
if (sz + remaining < capacity) {
|
||||
size_t newlen = uc_dbuf_buflen(buf) + capacity;
|
||||
void *tmp = realloc(buf->bufstart, newlen);
|
||||
@@ -75,7 +78,8 @@ uc_dbuf_trim(DBuf *buf)
|
||||
if (len == 0)
|
||||
return;
|
||||
|
||||
memmove(buf->bufstart, buf->start, len);
|
||||
if (buf->bufstart != buf->start)
|
||||
memmove(buf->bufstart, buf->start, len);
|
||||
|
||||
tmp = realloc(buf->bufstart, len);
|
||||
if (tmp != NULL)
|
||||
|
||||
Reference in New Issue
Block a user