You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by "Boris Kolpackov (JIRA)" <xe...@xml.apache.org> on 2008/07/04 14:15:31 UTC

[jira] Updated: (XERCESC-1800) Xerces-C++ is not 64-bit safe

     [ 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: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org