Don't memmove the buffer content unless it's needed

This commit is contained in:
Nils O. Selåsdal
2013-07-12 20:27:31 +02:00
parent b475fae56b
commit b6bd7fcaa6
+4
View File
@@ -50,7 +50,10 @@ uc_dbuf_ensure(DBuf *buf, size_t capacity)
return 0;
len = uc_dbuf_len(buf);
sz = buf->start - buf->bufstart;
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,6 +78,7 @@ uc_dbuf_trim(DBuf *buf)
if (len == 0)
return;
if (buf->bufstart != buf->start)
memmove(buf->bufstart, buf->start, len);
tmp = realloc(buf->bufstart, len);