[ https://issues.apache.org/jira/browse/XERCESC-1800?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12594863#action_12594863 ]
Alberto Massari commented on XERCESC-1800: ------------------------------------------ The API methods and variable having "WhatToShow" in the name, as well as derivationMethod, are bitmask, so they can keep their type. As part of my previous commit I intentionally avoided of using XMLSize_t to specify indexes in array or length of lists, as I think "size_t" should be used to express the dimension of a contiguous memory area; but we can create two new typedefs to represent "line/column" numbers and "count" types (like we have XMLFilePos for byte offsets in file) > DOM API is not 64-bit safe > -------------------------- > > Key: XERCESC-1800 > URL: https://issues.apache.org/jira/browse/XERCESC-1800 > Project: Xerces-C++ > Issue Type: Bug > Components: DOM > Affects Versions: 3.0.0 > Reporter: Boris Kolpackov > Priority: Blocker > Fix For: 3.0.0 > > > There are a number of places in DOM where unsigned int and unsigned long are > used for indexes and sizes. These should be changed to XMLSize_t. Here is the > grep result: > DOMDocument.hpp: const > unsigned long lineNum, > DOMDocument.hpp: const > unsigned long columnNum) = 0; > DOMDocumentTraversal.hpp: > unsigned long whatToShow, > DOMDocumentTraversal.hpp: > unsigned long whatToShow, > DOMLocator.hpp: virtual unsigned long getLineNumber() const = 0; > DOMLocator.hpp: virtual unsigned long getColumnNumber() const = 0; > DOMLSParserFilter.hpp: virtual unsigned long getWhatToShow() const = 0; > DOMLSSerializerFilter.hpp: virtual unsigned long getWhatToShow() const =0; > DOMLSSerializerFilter.hpp: // unsigned long fWhatToShow; > DOMNodeIterator.hpp: virtual unsigned long getWhatToShow() = 0; > DOMTreeWalker.hpp: virtual unsigned long getWhatToShow()= 0; > DOMTypeInfo.hpp: virtual bool isDerivedFrom(const XMLCh* typeNamespaceArg, > const XMLCh* typeNameArg, unsigned long derivationMethod) const = 0; > DOMXPathResult.hpp: virtual unsigned long getSnapshotLength() const = 0; > DOMXPathResult.hpp: * @param index of type unsigned long - Index into the > snapshot collection. > DOMXPathResult.hpp: virtual const DOMNode* snapshotItem(unsigned long > index) const = 0; > DOMImplementationList.hpp: virtual DOMImplementation *item(unsigned int > index) const = 0; > DOMImplementationList.hpp: virtual unsigned int getLength() const = 0; > DOMLSParser.hpp: virtual const XMLCh* getURIText(unsigned int uriId) const > = 0; > DOMNamedNodeMap.hpp: virtual DOMNode *item(unsigned int index) const = > 0; > DOMNamedNodeMap.hpp: virtual unsigned int getLength() const = 0; > DOMNodeList.hpp: virtual DOMNode *item(unsigned int index) const = 0; > DOMNodeList.hpp: virtual unsigned int getLength() const = 0; > DOMStringList.hpp: virtual const XMLCh *item(unsigned int index) const = 0; > DOMStringList.hpp: virtual unsigned int getLength() const = 0; > Ideally, we should do such an audit of the entire codebase. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]