plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

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