--- deliantra/server/server/dynbuf.C 2008/09/08 11:27:25 1.22 +++ deliantra/server/server/dynbuf.C 2008/09/11 21:36:07 1.23 @@ -26,6 +26,7 @@ void dynbuf::init (int initial) { + cextend = extend; _size = 0; first = last = (chunk *)salloc (sizeof (chunk) + initial); @@ -52,6 +53,7 @@ void dynbuf::clear () { + cextend = extend; free (first->next); _size = 0; @@ -74,20 +76,20 @@ do { - extend += extend >> 1; - extend = (extend + 15) & ~15; + cextend += cextend >> 1; + cextend = (cextend + 15) & ~15; } - while (extend < size); + while (cextend < size); - chunk *add = (chunk *) salloc (sizeof (chunk) + extend); - add->alloc = sizeof (chunk) + extend; + chunk *add = (chunk *) salloc (sizeof (chunk) + cextend); + add->alloc = sizeof (chunk) + cextend; add->next = 0; last->next = add; last = add; ptr = last->data; - end = ptr + extend; + end = ptr + cextend; } void