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

Reply via email to