From: cantor Date: Fri, 9 Nov 2007 23:17:32 +0000 (+0000) Subject: Treat empty strings as nulls. X-Git-Tag: 1.4.1~402 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=shibboleth%2Fxmltooling.git;a=commitdiff_plain;h=9e5a225fc26c2af4353c52bbcb36ab5733048a03 Treat empty strings as nulls. git-svn-id: https://svn.middleware.georgetown.edu/cpp-xmltooling/trunk@424 de75baf8-a10c-0410-a50a-987c0e22f00f --- diff --git a/xmltooling/AbstractAttributeExtensibleXMLObject.cpp b/xmltooling/AbstractAttributeExtensibleXMLObject.cpp index 74c4a34..2efde22 100644 --- a/xmltooling/AbstractAttributeExtensibleXMLObject.cpp +++ b/xmltooling/AbstractAttributeExtensibleXMLObject.cpp @@ -55,25 +55,22 @@ void AbstractAttributeExtensibleXMLObject::setAttribute(const QName& qualifiedNa if (i!=m_attributeMap.end()) { releaseThisandParentDOM(); XMLString::release(&(i->second)); - if (value) { + if (value && *value) { i->second=XMLString::replicate(value); + if (ID) + m_idAttribute=i; } else { if (m_idAttribute==i) m_idAttribute=m_attributeMap.end(); m_attributeMap.erase(i); } - - if (ID) { - m_idAttribute=i; - } } - else if (value) { + else if (value && *value) { releaseThisandParentDOM(); m_attributeMap[qualifiedName]=XMLString::replicate(value); - if (ID) { + if (ID) m_idAttribute = m_attributeMap.find(qualifiedName); - } } }