Author: rleigh
Date: Wed Jun 14 21:33:24 2017
New Revision: 1798773
URL: http://svn.apache.org/viewvc?rev=1798773&view=rev
Log:
xercesc: DOMCasts: Suppress cast alignment warnings
Modified:
xerces/c/trunk/src/xercesc/dom/impl/DOMCasts.hpp
Modified: xerces/c/trunk/src/xercesc/dom/impl/DOMCasts.hpp
URL:
http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/dom/impl/DOMCasts.hpp?rev=1798773&r1=1798772&r2=1798773&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/dom/impl/DOMCasts.hpp (original)
+++ xerces/c/trunk/src/xercesc/dom/impl/DOMCasts.hpp Wed Jun 14 21:33:24 2017
@@ -96,21 +96,29 @@ XERCES_CPP_NAMESPACE_BEGIN
static inline DOMNodeImpl *castToNodeImpl(const DOMNode *p)
{
- DOMElementImpl *pE = (DOMElementImpl *)p;
+ // Note: hairy cast which is used for all node types, not just
+ // DOMElementImpl.
+ DOMElementImpl *pE = const_cast<DOMElementImpl *>(static_cast<const
DOMElementImpl *>(p));
return &(pE->fNode);
}
static inline DOMParentNode *castToParentImpl(const DOMNode *p) {
- DOMElementImpl *pE = (DOMElementImpl *)p;
+ // Note: hairy cast which is used for all node types, not just
+ // DOMElementImpl.
+ DOMElementImpl *pE = const_cast<DOMElementImpl *>(static_cast<const
DOMElementImpl *>(p));
return &(pE->fParent);
}
static inline DOMChildNode *castToChildImpl(const DOMNode *p) {
- DOMElementImpl *pE = (DOMElementImpl *)p;
+ // Note: hairy cast which is used for all node types, not just
+ // DOMElementImpl.
+ DOMElementImpl *pE = const_cast<DOMElementImpl *>(static_cast<const
DOMElementImpl *>(p));
if (pE->fNode.isLeafNode()) {
- DOMTextImpl *pT = (DOMTextImpl *)p;
+ // Note: hairy cast which is used for all leaf node types, not just
+ // DOMTextImpl.
+ DOMTextImpl *pT = const_cast<DOMTextImpl *>(static_cast<const
DOMTextImpl *>(p));
return &(pT->fChild);
}
return &(pE->fChild);
@@ -121,14 +129,14 @@ static inline DOMNode *castToNode(const
DOMElementImpl* dummy = 0;
XMLSize_t parentOffset = (char *)&(dummy->fParent) - (char *)dummy;
char *retPtr = (char *)p - parentOffset;
- return (DOMNode *)retPtr;
+ return reinterpret_cast<DOMNode *>(retPtr);
}
static inline DOMNode *castToNode(const DOMNodeImpl *p) {
DOMElementImpl* dummy = 0;
XMLSize_t nodeImplOffset = (char *)&(dummy->fNode) - (char *)dummy;
char *retPtr = (char *)p - nodeImplOffset;
- return (DOMNode *)retPtr;
+ return reinterpret_cast<DOMNode *>(retPtr);
}
@@ -138,7 +146,7 @@ static inline DOMNodeImpl *castToNodeImp
XMLSize_t nodeImplOffset = (char *)&(dummy->fNode) - (char *)dummy;
XMLSize_t parentOffset = (char *)&(dummy->fParent) - (char *)dummy;
char *retPtr = (char *)p - parentOffset + nodeImplOffset;
- return (DOMNodeImpl *)retPtr;
+ return reinterpret_cast<DOMNodeImpl *>(retPtr);
}
XERCES_CPP_NAMESPACE_END
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]