/* ....[@@@..[@@@..............[@.................. MUD++ is a written from ....[@..[@..[@..[@..[@..[@@@@@....[@......[@.... scratch multi-user swords and ....[@..[@..[@..[@..[@..[@..[@..[@@@@@..[@@@@@.. sorcery game written in C++. ....[@......[@..[@..[@..[@..[@....[@......[@.... This server is an ongoing ....[@......[@..[@@@@@..[@@@@@.................. development project. All ................................................ contributions are welcome. ....Copyright(C).1995.Melvin.Smith.............. Enjoy. ------------------------------------------------------------------------------ Melvin Smith (aka Fusion) msmith@hom.net MUD++ development mailing list mudpp@van.ml.org ------------------------------------------------------------------------------ vmobject.cpp */ #include "config.h" #include "string.h" #include "vmobject.h" VMObject::~VMObject() { #ifdef GARBAGE_COLLECTOR_DEBUG if ( !gc_working_now ) Error::dump("Object deleted outside of GC"); if ( gc_color != 0 ) Error::dump("Object collected while still marked"); #endif // free evalues if ( evalues ) { int i; for ( i=0; i < evalues->length; i++) { if ( evalues->val[i].type == VMT_STRING ) delete evalues->val[i].val.s; } delete evalues; } } void VMObject::mark_evalues() { int i; for ( i=0; i < evalues->length; i++) { if ( IS_VMOBJ( evalues->val[i].type ) && evalues->val[i].val.o ) evalues->val[i].val.o->GCMark(); } }