You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Fred Preston (JIRA)" <ax...@ws.apache.org> on 2004/12/01 16:06:32 UTC

[jira] Resolved: (AXISCPP-283) The deserialiser does not decode LONG arrays

     [ http://nagoya.apache.org/jira/browse/AXISCPP-283?page=history ]
     
Fred Preston resolved AXISCPP-283:
----------------------------------

    Resolution: Fixed

> The deserialiser does not decode LONG arrays
> --------------------------------------------
>
>          Key: AXISCPP-283
>          URL: http://nagoya.apache.org/jira/browse/AXISCPP-283
>      Project: Axis-C++
>         Type: Bug
>   Components: Serialization/Deserialization
>  Environment: n/a
>     Reporter: Fred Preston
>     Assignee: Fred Preston
>      Fix For: 1.4 Final

>
> When deserialising a LONG array, the code eventually calls the macro DESERIALIZE_ENCODED_ARRAY_BLOCK( LONGLONG, CONV_STRTOUL).  This macro is out of date because it does not do two things
> 1. The Array size is set to zero, so no elements are ever read.
> 2. The string to long function returns the wrong value!
> To fix this macro, copy the expanded code used in the XSD_INT case and substute 'LONGLONG' for 'int' when ever it appears.  The change the strtol() function to correctly create the type required.
> I suspect that this problem will re-occur in other arrays of different types that still use the old macro (i.e XSD_UNSIGNEDINT, XSD_UNSIGNEDSHORT, XSD_BTYE, XSD_INTEGER, XSD_UNSIGNEDLONG, XSD_FLOAT, etc) altough others do mysteriously seem to work (XSD_STRING).

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira