Veczero.c (356B)
1 2 #include <u.h> 3 #include <libc.h> 4 #include <vec.h> 5 6 void 7 Veczero_(Type *p, ulong ms) 8 { 9 Vector *v; 10 11 if (!p) 12 sysfatal("Veczero: nil pointer"); 13 v = Vec(*p); 14 if (v->close != NULL) 15 for (;v->n;) 16 v->close((char*)*p + --v->n * ms); 17 v = realloc(v, sizeof(*v)); 18 if (!v) 19 sysfatal("libvec vec.c:realloc(): %r"); 20 v->n = 0; 21 v->size = 0; 22 *p = v + 1; 23 } 24