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