void CMVSingleExpression::read_body(wistream& s) { CMString str; CMString expr; while(!s.eof()) { str.read_line(s); if (str.is_null() || str[0] == L'*') continue; if (str(0,wcslen(vardef_end)) == vardef_end) break; expr += str.strip(CMString::stripType::Trailing, L'\r'); } SetExpression(expr.c_str()); if (expression.Fail()) { SetState(vsFailed,1); ReportError(XBadVardef,expression.GetString()); } }