[PATCH] compat: provide a declaration of ssize_t, for MS windows
Maciej Fijalkowski
fijall at gmail.com
Wed Jul 13 02:57:47 EDT 2016
It's additionally blocking all the other things I want to do on
mercurial, for really no reason whatsoever
On Wed, Jul 13, 2016 at 8:55 AM, Maciej Fijalkowski <fijall at gmail.com> wrote:
> can you guys commit the way you want it please? We've been
> bikeshedding this simple change for like a week now. I have absolutely
> zero opinion, I want to be able to use ssize_t. For all practical
> purposes you can say typedef intptr_t ssize_t, but it does not work on
> DOS16 or something like that
>
> On Wed, Jul 13, 2016 at 1:19 AM, Sean Farley <sean at farley.io> wrote:
>> Adrian Buehlmann <adrian at cadifra.com> writes:
>>
>>> On 2016-07-12 19:16, Maciej Fijalkowski wrote:
>>>> # HG changeset patch
>>>> # User Maciej Fijalkowski <fijall at gmail.com>
>>>> # Date 1468238015 -7200
>>>> # Mon Jul 11 13:53:35 2016 +0200
>>>> # Node ID 54968a2233db1823fa11f47dcc99395097bae3b4
>>>> # Parent b40939504d0e01e3a7f067b8cf49f26718a7c27c
>>>> compat: provide a declaration of ssize_t, for MS windows
>>>>
>>>> diff -r b40939504d0e -r 54968a2233db mercurial/compat.h
>>>> --- a/mercurial/compat.h Mon Jul 11 11:05:08 2016 +0200
>>>> +++ b/mercurial/compat.h Mon Jul 11 13:53:35 2016 +0200
>>>> @@ -5,6 +5,8 @@
>>>> #ifdef _MSC_VER
>>>> /* msvc 6.0 has problems */
>>>> #define inline __inline
>>>> +#include <BaseTsd.h>
>>>> +typedef SSIZE_T ssize_t;
>>>> typedef signed char int8_t;
>>>> typedef short int16_t;
>>>> typedef long int32_t;
>>>
>>> Perhaps, this can be simplified to:
>>>
>>> #if defined(_WIN64)
>>> typedef __int64 ssize_t;
>>> #else
>>> typedef long ssize_t;
>>> #endif
>>>
>>> (and thusly avoiding including BaseTsd.h ...)
>>
>> I like this suggestion.
More information about the Mercurial-devel
mailing list