X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=saml%2Fsaml2%2Fmetadata%2Fimpl%2FChainingMetadataProvider.cpp;h=617c8e65e8178f4c0f3b6bc4ce6716367873cef5;hb=16d5976c9821b70d95675983702e0032d8769467;hp=f70fa74b0312ee7d7bc029f6185f2baf3b5fbf0e;hpb=e9554c255ad3c91c7c4976e7a1a54905903e66a2;p=shibboleth%2Fcpp-opensaml.git diff --git a/saml/saml2/metadata/impl/ChainingMetadataProvider.cpp b/saml/saml2/metadata/impl/ChainingMetadataProvider.cpp index f70fa74..617c8e6 100644 --- a/saml/saml2/metadata/impl/ChainingMetadataProvider.cpp +++ b/saml/saml2/metadata/impl/ChainingMetadataProvider.cpp @@ -140,13 +140,13 @@ ChainingMetadataProvider::ChainingMetadataProvider(const DOMElement* e) if (XMLString::equals(e ? e->getAttributeNS(nullptr, precedence) : nullptr, last)) m_firstMatch = false; - e = e ? XMLHelper::getFirstChildElement(e, _MetadataProvider) : nullptr; + e = XMLHelper::getFirstChildElement(e, _MetadataProvider); while (e) { - auto_ptr_char temp(e->getAttributeNS(nullptr, _type)); - if (temp.get() && *temp.get()) { + string t = XMLHelper::getAttrString(e, nullptr, _type); + if (!t.empty()) { try { - m_log.info("building MetadataProvider of type %s", temp.get()); - auto_ptr provider(SAMLConfig::getConfig().MetadataProviderManager.newPlugin(temp.get(), e)); + m_log.info("building MetadataProvider of type %s", t.c_str()); + auto_ptr provider(SAMLConfig::getConfig().MetadataProviderManager.newPlugin(t.c_str(), e)); ObservableMetadataProvider* obs = dynamic_cast(provider.get()); if (obs) obs->addObserver(this);