[ http://issues.apache.org/jira/browse/AXISCPP-283?page=all ]
     
Fred Preston closed AXISCPP-283:
--------------------------------


> The deserialiser does not decode LONG arrays
> --------------------------------------------
>
>          Key: AXISCPP-283
>          URL: http://issues.apache.org/jira/browse/AXISCPP-283
>      Project: Axis-C++
>         Type: Bug

>   Components: Serialization
>  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://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to