void CTobCompiler::Reset() { m_errornum = 0; m_line = 0; m_err.Empty(); m_bin.RemoveAll(); if (m_fsrc) { fclose(m_fsrc); m_fsrc = 0; } if (m_fdst) { fclose(m_fdst); m_fdst = 0; } POSITION p; CString str; p = m_binmap.GetStartPosition(); CByteArray* bin; while(p) { m_binmap.GetNextAssoc(p, str, bin); delete bin; } m_binmap.RemoveAll(); m_binmap.InitHashTable(251); p = m_valmap.GetStartPosition(); SValueType* val; while(p) { m_valmap.GetNextAssoc(p, str, val); delete val; } m_valmap.RemoveAll(); m_valmap.InitHashTable(251); for(int i = m_exparr.GetSize() - 1; i >= 0; --i) delete m_exparr.GetAt(i); m_exparr.RemoveAll(); m_Option.DefInt = 4; m_Option.DefFloat = 4; m_Option.bIgnoreCase = FALSE; }