fixed vector resizing logic

master
Dvir Volk 9 years ago
parent 16326d6e29
commit 66b300d428

@ -45,9 +45,13 @@ int Vector_Resize(Vector *v, int newcap) {
v->cap = newcap;
v->data = realloc(v->data, v->cap*v->elemSize);
int offset = oldcap*v->elemSize;
// If we grew:
// put all zeros at the newly realloc'd part of the vector
memset(v->data + offset, 0, v->cap*v->elemSize - offset);
if (newcap > oldcap) {
int offset = oldcap*v->elemSize;
memset(v->data + offset, 0, v->cap*v->elemSize - offset);
}
return v->cap;
}

Loading…
Cancel
Save