diff --git a/src/object.c b/src/object.c index 91d78a11d705599eee38451d701cffcdac3dee2b..262c9876d8a462ab508064175fbd3fcc9217cf7e 100644 --- a/src/object.c +++ b/src/object.c @@ -5,7 +5,7 @@ \*/ /**/ #include "global.h" -RCSID("$Id: object.c,v 1.148 2000/09/14 19:58:43 mast Exp $"); +RCSID("$Id: object.c,v 1.149 2000/09/29 15:48:04 mast Exp $"); #include "object.h" #include "dynamic_buffer.h" #include "interpret.h" @@ -739,11 +739,9 @@ PMOD_EXPORT void schedule_really_free_object(struct object *o) fprintf(stderr, "| Freeing storage for %p.\n", o); #endif - if (o->next == o) - /* It's a fake object which isn't counted by the gc, so - * counteract the num_objects-- done by GC_FREE. */ - num_objects++; - GC_FREE(o); + if (o->next != o) + /* As far as the gc is concerned, the fake objects doesn't exist. */ + GC_FREE(o); FREE_PROT(o);