diff --git a/src/xercesc/dom/impl/DOMConfigurationImpl.cpp b/src/xercesc/dom/impl/DOMConfigurationImpl.cpp index a673461b3436c98d0ef9cccbb76fb1b13d6fb89d..76ffa1a34ec12cab48b0689a9dce10175767889c 100644 --- a/src/xercesc/dom/impl/DOMConfigurationImpl.cpp +++ b/src/xercesc/dom/impl/DOMConfigurationImpl.cpp @@ -99,22 +99,16 @@ void DOMConfigurationImpl::setParameter(const XMLCh* name, const void* value) { throw DOMException(DOMException::NOT_SUPPORTED_ERR, 0, fMemoryManager); } - bool isBooleanParameter = true; DOMConfigurationFeature whichFlag; try { whichFlag = getFeatureFlag(lowerCaseName); - } catch(DOMException&) { - // must not be a boolean parameter - isBooleanParameter = false; - } - - if(isBooleanParameter) { if(*((bool*)value)) { featureValues |= whichFlag; } else { featureValues &= ~whichFlag; } - } else { + } catch(DOMException&) { + // must not be a boolean parameter if(XMLString::equals(lowerCaseName, fgERROR_HANDLER)) { fErrorHandler = (DOMErrorHandler*)value; } else if (XMLString::equals(lowerCaseName, fgSCHEMA_TYPE)) { @@ -139,22 +133,16 @@ const void* DOMConfigurationImpl::getParameter(const XMLCh* name) const { XMLString::lowerCase(lowerCaseName); - bool isBooleanParameter = true; DOMConfigurationFeature whichFlag; try { whichFlag = getFeatureFlag(lowerCaseName); - } catch (DOMException&) { - // must not be a boolean parameter - isBooleanParameter = false; - } - - if(isBooleanParameter){ if(featureValues & whichFlag) { return &fTrue; } else { return &fFalse; } - } else { + } catch (DOMException&) { + // must not be a boolean parameter if(XMLString::equals(lowerCaseName, fgERROR_HANDLER)) { return fErrorHandler; } else if (XMLString::equals(lowerCaseName, fgSCHEMA_TYPE)) { @@ -190,18 +178,10 @@ bool DOMConfigurationImpl::canSetParameter(const XMLCh* name, const void* value) XMLString::lowerCase(lowerCaseName); - bool isBooleanParameter = true; - bool booleanValue = false; DOMConfigurationFeature whichFlag; try { whichFlag = getFeatureFlag(lowerCaseName); - booleanValue = *((bool*)value); - } catch (DOMException&) { - // must not be a boolean parameter - isBooleanParameter = false; - } - - if(isBooleanParameter) { + bool booleanValue = *((bool*)value); switch (whichFlag) { case FEATURE_CANONICAL_FORM: if(booleanValue) return false; // optional // @@ -246,7 +226,8 @@ bool DOMConfigurationImpl::canSetParameter(const XMLCh* name, const void* value) else return false; // optional // default: return false; // should never be here } - } else { + } catch (DOMException&) { + // must not be a boolean parameter if(XMLString::equals(lowerCaseName, fgERROR_HANDLER)) { return true; // required // } else if (XMLString::equals(lowerCaseName, fgSCHEMA_TYPE)) { diff --git a/src/xercesc/dom/impl/DOMNodeImpl.cpp b/src/xercesc/dom/impl/DOMNodeImpl.cpp index a4abb6736c2444d1bed789f333b7c3bf3ff3ce9e..783ee6089764cf5cdf8240abd58daf6cc70aa845 100644 --- a/src/xercesc/dom/impl/DOMNodeImpl.cpp +++ b/src/xercesc/dom/impl/DOMNodeImpl.cpp @@ -363,10 +363,8 @@ const XMLCh* DOMNodeImpl::mapPrefix(const XMLCh *prefix, if (XMLString::equals(namespaceURI, XMLUni::fgXMLNSURIName)) return XMLUni::fgXMLNSURIName; throw DOMException(DOMException::NAMESPACE_ERR, 0); - } else if (namespaceURI == 0 || *namespaceURI == 0) { + } else if (namespaceURI == 0 || *namespaceURI == 0) throw DOMException(DOMException::NAMESPACE_ERR, 0); - } else - return namespaceURI; return namespaceURI; }