void free_obj( OBJ_DATA *obj ) { AFFECT_DATA *paf, *paf_next; EXTRA_DESCR_DATA *ed, *ed_next; /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ if ( !IS_VALID(obj) ) return; for ( paf = obj->affected; paf != NULL; paf = paf_next ) { paf_next = paf->next; free_affect( paf ); } obj->affected = NULL; for ( ed = obj->extra_descr; ed != NULL; ed = ed_next ) { ed_next = ed->next; free_extra_descr( ed ); } obj->extra_descr = NULL; free_string( obj->name ); free_string( obj->description ); free_string( obj->short_descr ); free_string( obj->owner ); INVALIDATE( obj ); obj->next = obj_free; obj_free = obj; }
void free_obj_index( OBJ_INDEX_DATA *pObj ) { EXTRA_DESCR_DATA *pExtra, *wExtra; AFFECT_DATA *pAf, *wAf; free_string( pObj->name ); free_string( pObj->short_descr ); free_string( pObj->description ); for ( pAf = pObj->affected; pAf; pAf = wAf ) { wAf = pAf->next; free_affect( pAf ); } for ( pExtra = pObj->extra_descr; pExtra; pExtra = wExtra ) { wExtra = pExtra->next; free_extra_descr( pExtra ); } pObj->next = obj_index_free; obj_index_free = pObj; return; }
void free_obj_index( OBJ_INDEX_DATA *pObj ) { EXTRA_DESCR_DATA *pExtra; AFFECT_DATA *pAf; free_string( pObj->name ); free_string( pObj->name2 ); free_string( pObj->name3 ); free_string( pObj->name4 ); free_string( pObj->name5 ); free_string( pObj->name6 ); free_string( pObj->short_descr ); free_string( pObj->description ); free_string( pObj->item_description ); free_string( pObj->ident_description ); free_string( pObj->hidden_description ); free_string( pObj->comments ); for ( pAf = pObj->affected; pAf; pAf = pAf->next ) { free_affect( pAf ); } for ( pExtra = pObj->extra_descr; pExtra; pExtra = pExtra->next ) { free_extra_descr( pExtra ); } pObj->next = obj_index_free; obj_index_free = pObj; free_prog( pObj->progs ); return; }
void free_bonus_index( BONUS_INDEX_DATA *pBonus ) { AFFECT_DATA *pAf; free_string( pBonus->name ); free_string( pBonus->description ); free_string( pBonus->comments ); free_string( pBonus->wear_prog ); free_string( pBonus->remove_prog ); for ( pAf = pBonus->affects; pAf; pAf = pAf->next ) { free_affect( pAf ); } pBonus->next = bonus_index_free; bonus_index_free = pBonus; return; }