cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: curl_endian using int64 with out checking curl_config.h

From: John E. Malmberg <wb8tyw_at_qsl.net>
Date: Sun, 18 Jan 2015 09:43:52 -0600

On 1/18/2015 5:56 AM, Steve Holme wrote:
> On Fri, 16 Jan 2015, John E. Malmberg wrote:
>
>> I noticed earlier that another module for one of the Microsoft protocols
>> was using 64 bit integers. That code is not compiled on VAX/VMS because
>> the libraries it uses are not yet available on VAX.
>
> I tried to find all the instances and fix them for the last release,
> as I realised I had broken non 64-bit compiler builds, but as I don't
> such a compiler myself I unfortunately missed some :(
>
> Which file did you notice this in as I'd like to fix it there too?

lib/curl_ntlm_core.c:

        X 28064 #if defined(HAVE_LONGLONG)
        X 28065 long long tw;
        X 28066 #else
        X 28067 __int64 tw;
        X 28068 #endif

The assumption is that if the compiler does not have long long, that it
has __int64. I do not see a test in config.h for __int64.

I discovered that a new option had been added to configure that needed
to be disabled on VAX since the external libraries to support NTLM have
not been ported to VAX.

Same issue in lib/smb.c:

        X 27590 #ifdef HAVE_LONGLONG
        X 27591 static unsigned long long smb_swap64(unsigned long long x)
        X 27592 {
        X 27593 return ((unsigned long long)smb_swap32(x) << 32) |
smb_swap♦
        X 27594 }
        X 27595 #else
        X 27596 static unsigned __int64 smb_swap64(unsigned __int64 x)
        X 27597 {
        X 27598 return ((unsigned __int64)smb_swap32(x) << 32) |
smb_swap32(x♦
        X 27599 }

Was probably disabled by the same configure option.

Regards,
-John
wb8tyw_at_qsl.network

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2015-01-18