[ 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
