コード例 #1
0
ファイル: gameobj.cpp プロジェクト: robinkun/Robots
void gameobj::del_objs_loop(node *p) {
  if(p->objn != NULL) del_objs_loop(p->objn);
  /*
  if(p->type >= 0 && p->type < typenum) {
    objnum[p->y][p->x][p->type]--;
    objtotal[p->type]--;
  }*/
  del_obj(p);
}
コード例 #2
0
ファイル: btree.c プロジェクト: joerong666/hidb
/****************************************
** basic function 
*****************************************/
static void destroy(btree_t *thiz)
{
    if (thiz->hdr != NULL && thiz->hdr->map_buf != NULL) {
        munmap(thiz->hdr->map_buf, thiz->hdr->map_size);
    }

    close(thiz->wfd);
    close(thiz->rfd);

    del_obj(thiz);
}
コード例 #3
0
ファイル: memory.c プロジェクト: YLiLarry/lisp--
void delete_obj(void *obj){
    if(obj==NULL)
        return;
    object* o=(object*)obj;
    printf("delete obj=");
    print_obj(o);
    println();
    if(o->type==CONS){
        del_objs(o->obj,2);
    }else if(o->type==PROC){
        del_objs(o->obj,3);
    }else{
//        del_objs(o->obj,1);
    }
    del_obj(o);
}
コード例 #4
0
ファイル: evt_spark.c プロジェクト: macntouch/GT
void spark_selfkill(obj *o) // время жизни кончилось
{
 int i;
 evt *e,*de;
 lnk *l,*dl;
 obj *co;

 if(o->pl->tag==T_WORLD) loc_obj_unreg(o);

 co=o->bo; while(co!=NULL) { spark_selfkill(co); co=o->bo; }

// удаляю очередь событий
 e=o->bevt; if(e!=NULL) e=e->next;
 while(e!=NULL) 
  { de=e->next; del_evt(o,e); free_evt(o,e); e=de; }
 e=o->bevt; if(e!=NULL) { del_evt(o,e); free_evt(o,e); }

// удаляю список ссылок на зависимые события
 for(i=0;i<ELST_NUM;i++)
  while(o->elst[i]!=NULL)
  {
   l=dl=o->elst[i]; o->elst[i]=l->next;
   if(dl->l==l) { if(l->e->e!=NULL) l->e->e->e=NULL; free_evt(o,l->e); evt_lnk_del(l); }
   else 
   {
    while(dl->l!=l) dl=dl->l;
    dl->l=l->l; if(l->e!=NULL) { dl->e=l->e; l->e->l=dl; evt_lnk_del(l); }
   }
  }
 
// удаляю буферы
 if(o->mem!=NULL) myfree(o->mem);

// удаляю объект
  del_obj(o); free_obj(o);
}
コード例 #5
0
ファイル: gameobj.cpp プロジェクト: robinkun/Robots
void gameobj::del_point_obj() {
  node *p = point;
  point = point->fieldp;

  del_obj(p);
}
コード例 #6
0
ファイル: conf.c プロジェクト: joerong666/hidb
/****************************************
** basic function
*****************************************/
static void destroy(T *thiz)
{
    del_obj(thiz);
}