[ 
https://issues.apache.org/jira/browse/XERCESC-1800?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12594759#action_12594759
 ] 

David Bertoni commented on XERCESC-1800:
----------------------------------------

This is a pervasive problem throughout the code.  For example, XMLString uses 
int for many return types, and that's just the start.

There was a long discussion several years ago about fixing this, and the 
consensus was it would cause lots of compatibility issues.  However, if we're 
going to fix it, we need to to do it everywhere, and before the 3.0 release.

> 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]

Reply via email to