commit - 6a4599d779d306a292f2437f99b5d7df6a41b313
commit + 52006c82447f374388721bc8eeadd5d463cb95b2
blob - 511a7f2a672859c2cfc0350af391b8088692edb9
blob + 02f3aa390c0d9ad9a57f2bdd2c7e26f43376f237
--- src/libventi/log.c
+++ src/libventi/log.c
return h;
}
+char**
+vtlognames(int *pn)
+{
+ int i, nname, size;
+ VtLog *l;
+ char **s, *a, *e;
+
+ qlock(&vl.lk);
+ size = 0;
+ nname = 0;
+ for(i=0; i<nelem(vl.hash); i++)
+ for(l=vl.hash[i]; l; l=l->next){
+ nname++;
+ size += strlen(l->name)+1;
+ }
+
+ s = vtmalloc(nname*sizeof(char*)+size);
+ a = (char*)(s+nname);
+ e = (char*)s+nname*sizeof(char*)+size;
+
+ size = 0;
+ nname = 0;
+ for(i=0; i<nelem(vl.hash); i++)
+ for(l=vl.hash[i]; l; l=l->next){
+ strcpy(a, l->name);
+ s[nname++] = a;
+ a += strlen(a)+1;
+ }
+ *pn = nname;
+ assert(a == e);
+ qunlock(&vl.lk);
+
+ return s;
+}
+
VtLog*
vtlogopen(char *name, uint size)
{