Mercurial > hg > xemacs-beta
comparison src/dynarr.c @ 3293:168191f9515f
[xemacs-hg @ 2006-03-20 21:20:19 by crestani]
2006-03-20 Marcus Crestani <crestani@xemacs.org>
* dynarr.c (Dynarr_realloc): Malloc correct size.
* lisp.h: Dynamic array cleanup, remove duplicate code.
author | crestani |
---|---|
date | Mon, 20 Mar 2006 21:20:29 +0000 |
parents | 72b7d685c194 |
children | 229bd619740a |
comparison
equal
deleted
inserted
replaced
3292:b327b25c93bf | 3293:168191f9515f |
---|---|
131 static void | 131 static void |
132 Dynarr_realloc (Dynarr *dy, int new_size) | 132 Dynarr_realloc (Dynarr *dy, int new_size) |
133 { | 133 { |
134 if (DUMPEDP (dy->base)) | 134 if (DUMPEDP (dy->base)) |
135 { | 135 { |
136 void *new_base = malloc (new_size); | 136 void *new_base = malloc (new_size * dy->elsize); |
137 memcpy (new_base, dy->base, | 137 memcpy (new_base, dy->base, |
138 (dy->max < new_size ? dy->max : new_size) * dy->elsize); | 138 (dy->max < new_size ? dy->max : new_size) * dy->elsize); |
139 dy->base = new_base; | 139 dy->base = new_base; |
140 } | 140 } |
141 else | 141 else |