[ 
https://issues.apache.org/jira/browse/XERCESC-1800?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov updated XERCESC-1800:
-------------------------------------

      Component/s:     (was: DOM)
         Priority: Critical  (was: Blocker)
    Fix Version/s:     (was: 3.0.0)
                   3.1.0
          Summary: Xerces-C++ is not 64-bit safe  (was: DOM API is not 64-bit 
safe)

I believe I've changed all the public interfaces to use XMLSize_t instead of 
int/long. Due to lack of time I am postponing porting the rest of the code 
until after 3.0.0 and rescheduling this bug to 3.1.0. If, howevere, someone 
wants to finish this for 3.0.0, they are more than welcome. But first please 
read this thread on the c-dev:

http://marc.info/?t=121502119500007&r=1&w=2


> Xerces-C++ is not 64-bit safe
> -----------------------------
>
>                 Key: XERCESC-1800
>                 URL: https://issues.apache.org/jira/browse/XERCESC-1800
>             Project: Xerces-C++
>          Issue Type: Bug
>    Affects Versions: 3.0.0
>            Reporter: Boris Kolpackov
>            Priority: Critical
>             Fix For: 3.1.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