iq_t iq_create(debug_t debug, iq_free_t free) { iq_t iq = record_create(iq_t, iq) ; iq->lo = 0 ; iq->hi = 0 ; iq->alen = 1 ; iq->read = 0 ; iq->name = debug ; iq->mask = 0 ; iq->arr = sys_alloc(sizeof(iq->arr[0])) ; iq->free = free ; assert(iq->arr) ; memset(iq->arr, 0, sizeof(iq->arr[0])) ; iq->arr[0].msg = NULL ; #if 0 #ifdef USE_GC gc_tag(iq, debug) ; gc_tag(iq->arr, debug) ; #endif #endif return iq ; }
static void environment_tag (sexpr env) { struct environment *t = (struct environment *)env; gc_tag (t->environment); }