# HG changeset patch # User Richard M. Stallman # Date 1029560037 0 # Node ID a92cb918558c36ca4899a5e3289259ececcd460b # Parent 69c58f2f263465e5178cf07001af7fe3e55e9112 (overlays_at): Handle extending vec uniformly. (overlays_in): Handle extending vec from length 0 as in overlays_at. diff -r 69c58f2f2634 -r a92cb918558c src/buffer.c --- a/src/buffer.c Sat Aug 17 00:08:54 2002 +0000 +++ b/src/buffer.c Sat Aug 17 04:53:57 2002 +0000 @@ -2498,9 +2498,11 @@ { if (extend) { - *len_ptr = len *= 2; + /* Make it work with an initial len == 0. */ + len *= 2; if (len == 0) - len = *len_ptr = 4; + len = 4; + *len_ptr = len; vec = (Lisp_Object *) xrealloc (vec, len * sizeof (Lisp_Object)); *vec_ptr = vec; } @@ -2594,7 +2596,11 @@ Either make it bigger, or don't store any more in it. */ if (extend) { - *len_ptr = len *= 2; + /* Make it work with an initial len == 0. */ + len *= 2; + if (len == 0) + len = 4; + *len_ptr = len; vec = (Lisp_Object *) xrealloc (vec, len * sizeof (Lisp_Object)); *vec_ptr = vec; } @@ -2638,7 +2644,11 @@ { if (extend) { - *len_ptr = len *= 2; + /* Make it work with an initial len == 0. */ + len *= 2; + if (len == 0) + len = 4; + *len_ptr = len; vec = (Lisp_Object *) xrealloc (vec, len * sizeof (Lisp_Object)); *vec_ptr = vec; }