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