示例#1
0
static void *
ev_hndl(at *q)
{
  if ( CONSP(q) && GPTRP(q->Car) &&
       CONSP(q->Cdr) && q->Cdr->Cdr )
    return q->Car->Gptr;
  return 0;
}
示例#2
0
文件: storage.c 项目: barak/lush
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);
}
示例#3
0
文件: event.c 项目: barak/lush
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);
}
示例#4
0
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);
}
示例#5
0
文件: event.c 项目: barak/lush
static void *ev_hndl(at *q)
{
   if (CONSP(q) && GPTRP(Car(q)) && CONSP(Cdr(q)) && Cddr(q))
      return Gptr(Car(q));
   return 0;
}