*::: ClassAd::initFromStream() *::: ClassAd::AssignExpr() *DONE* *::: ClassAd::clear() *DONE* -*::: ClassAd::EvalString(const char*, const class AttrList*, char**) *DONE by Will M* -*::: ClassAd::EvalString(const char*, const class AttrList*, MyString&) *DONE by Will M* +*::: ClassAd::EvalString(const char*, const class AttrList*, char**) +*::: ClassAd::EvalString(const char*, const class AttrList*, MyString&) *::: ClassAd::NextNameOriginal() *DONE* *::: ClassAd::ResetName() *DONE* *:: Block {quote:#2} *[4 days]*: -*::: ClassAd::sPrintExpr() *DONE by Will M* -*::: ClassAd::NextDirtyExpr() *non-quick fix* -*::: ClassAd::SetDirtyFlag() *non-quick fix* -*::: ClassAd::GetDirtyFlag() *non-quick fix* -*::: ClassAd::GetReferences() *non-quick fix* -*::: ClassAd::ChainCollapse() *non-quick fix* -*::: ClassAd::EscapeStringValue() *non-quick fix* -*::: ClassAd::CopyAttribute() *non-quick fix* -*::: ClassAd::fPrintAsXML() *need to rewrite a lot, including handling escapes* -*::: ClassAd::sPrintAsXML() *same as above.* -*::: ClassAd::IsValidAttrValue() *DONE* +*::: ClassAd::sPrintExpr() +*::: ClassAd::NextDirtyExpr() +*::: ClassAd::SetDirtyFlag() +*::: ClassAd::GetDirtyFlag() +*::: ClassAd::GetReferences() +*::: ClassAd::ChainCollapse() +*::: ClassAd::EscapeStringValue() +*::: ClassAd::CopyAttribute() +*::: ClassAd::fPrintAsXML() +*::: ClassAd::sPrintAsXML() +*::: ClassAd::IsValidAttrValue() *: Write helper functions for these methods which we can't emulate transparently *[4 hours]*: *:: ExprTree::PrintToNewStr() *DONE*