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@qsl.network

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to