static void * ev_hndl(at *q) { if ( CONSP(q) && GPTRP(q->Car) && CONSP(q->Cdr) && q->Cdr->Cdr ) return q->Car->Gptr; return 0; }
static void gptr_setat(storage_t *st, size_t off, at *x) { get_write_permit(st); ifn (GPTRP(x)) error(NIL, "not a gptr", x); gptr *pt = st->data; pt[off] = Gptr(x); }
void ev_parsedesc(at *desc) { if (CONSP(desc)) { ev_parsedesc(Car(desc)); ev_parsedesc(Cdr(desc)); } else if (GPTRP(desc)) evdesc = (const char *)String(desc); else if (NUMBERP(desc)) evmods = (unsigned char)Number(desc); }
void ev_parsedesc(at *desc) { if (CONSP(desc)) { ev_parsedesc(desc->Car); ev_parsedesc(desc->Cdr); } else if (GPTRP(desc)) evdesc = (const char *)(desc->Gptr); else if (NUMBERP(desc)) evmods = (unsigned char)(desc->Number); }
static void *ev_hndl(at *q) { if (CONSP(q) && GPTRP(Car(q)) && CONSP(Cdr(q)) && Cddr(q)) return Gptr(Car(q)); return 0; }