Subject: Re: win32 build issue

Re: win32 build issue

From: Guenter <>
Date: Sun, 06 Jun 2010 02:50:59 +0200

Hi Daniel,
Am 05.06.2010 22:57, schrieb Daniel Stenberg:
> On Fri, 4 Jun 2010, Grubsky Grigory wrote:
>>> - long scpRecv_mode;
>>> + mode_t scpRecv_mode;
>> The first part leads to an error - there are not mode_t in VC headers.
>> Field st_mode is declared as unsigned short in all stat-structs (stat,
>> _stat32, _stat32i64, _stat64i32, _stat64). Second part (long to
>> time_t) has not affect.
> So what's your suggested fix?
I would tend to say lets change to mode_t and add a typedef for MSVC in
the block in libssh2.h where we have already the other typedefs for
MSVC, but I'm not sure if it doesnt break other platforms - I see f.e.
that NetWare oldish CLIB platform has mod_t typedef'd to long but
nevertheless the stat struct uses unsigned short for st_mode -- ill, I
know, but I fear that other platforms might have same whoes ....
what do you think? should we risk some other platforms broken, and fix
these asap as soon as we get aware of them after release?
I checked that MingW32 has mode_t defined unless you define
_NO_OLDNAMES, so this should be fine there, and most Linux should use
mode_t anyway ...
let me know what I should do, and I fix it asap since have anyway this
patch sitting in my git tree ...

regarding the other win32 build fix with the *.dsp: so we can remove the
two *.dsp in ./win32 now, and apply the change as Grigory suggested?
I think so unless the ./win32/*.dsp are needed by the script which
generates the final libssh2.dsp ... (sorry, not looked yet at the script
how it does its work).


Received on 2010-06-06