axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Whitlock <>
Subject Fw: XSD types
Date Wed, 18 May 2005 09:00:20 GMT

In src/soap/xsd the classes (eg Int.cpp) use hardcoded values because these
limits are defined by the SOAP spec. Values from limits.h are platform
Mark Whitlock

----- Forwarded by Mark Whitlock/UK/IBM on 18/05/2005 09:53 -----
             Nadir Amra                                                    
             17/05/2005 20:44          "Apache AXIS C Developers List"     
             Please respond to                                             
              "Apache AXIS C                                       Subject 
             Developers List"          Re: XSD types                       

OS/400 is 64-bit machine.  ints and longs are 32 bit. long long is 64bit.

In addition, I was wondering why we do not use the <limits.h> file to
determine max/min value for the various types?  I saw that we hard-code
the values when checking for ranges.

Nadir K. Amra

Mark Whitlock <> wrote on 05/17/2005 11:23:27 AM:

> Hi,
> I am investigating getting Axis C++ working on AIX 64 bit mode. The
> of longs (and ints?) are different on different platforms and in 32bit
> 64bit mode. I propose that the sizes of the xsd types in AxisUserAPI.hpp
> should be the same on all platforms in all modes since the maximum value
> these xsd types is defined by the SOAP specification.
> In 32bit mode (on windows, aix and linux) ints and longs are 32 bits. On
> AIX in 64bit mode, ints are 32 bits but longs are 64 bits. Long longs
> 64 bits on all platforms in all modes (that I have so far discovered).
So I
> intend to avoid using longs for xsd types.
> Nadir - is this the same on OS/400?
> In the future, we could use LONG_MAX and INT_MAX in #if's to
> use the correct primitive for the correct xsd type, for platforms and
> where ints aren't 32 bits.
> Mark
> Mark Whitlock

View raw message