void globfree(glob_t* gp) { if ((gp->gl_flags & GLOB_MAGIC) == GLOB_MAGIC) { gp->gl_flags &= ~GLOB_MAGIC; if (gp->gl_stak) stkclose(gp->gl_stak); if (gp->gl_ignore) regfree(gp->gl_ignore); if (gp->gl_ignorei) regfree(gp->gl_ignorei); } }
static Vector_t* vecopen(int inc, int siz) { Vector_t* v; Stk_t* sp; if (inc <= 0) inc = 16; if (!(sp = stkopen(STK_SMALL|STK_NULL))) return 0; if (!(v = (Vector_t*)stkseek(sp, sizeof(Vector_t) + inc * siz))) { stkclose(sp); return 0; } v->stk = sp; v->vec = (char*)v + sizeof(Vector_t); v->max = v->inc = inc; v->siz = siz; v->cur = 0; return v; }
static void vecclose(Vector_t* v) { if (v) stkclose(v->stk); }