directly instead of calling mark_closed(), which allowed the memory allocated by mark_open() to never be freed. -Erik