[PATCH] Cygwin: Make native clipboard layout same for 32- and 64-bit

Ken Brown kbrown@cornell.edu
Sat Oct 9 14:43:45 GMT 2021


On 10/9/2021 10:29 AM, Jon Turney wrote:
> On 07/10/2021 06:22, Mark Geisert wrote:
>  > The cygutils package has two programs, putclip and getclip, that also
>  > depend on the layout of the cygcb_t.  At present they have duplicate
>  > defs of struct cygcb_t defined here as no Cygwin header provides it.
> 
> This struct should maybe be in sys/cygwin.h or similar, if it's expected to be 
> used in user-space as well.

Good idea.

> On 09/10/2021 15:19, Ken Brown wrote:
>> On 10/8/2021 5:52 AM, Takashi Yano wrote:
>>> How about simply just:
>>>
>>> diff --git a/winsup/cygwin/fhandler_clipboard.cc 
>>> b/winsup/cygwin/fhandler_clipboard.cc
>>> index ccdb295f3..d822f4fc4 100644
>>> --- a/winsup/cygwin/fhandler_clipboard.cc
>>> +++ b/winsup/cygwin/fhandler_clipboard.cc
>>> @@ -28,9 +28,10 @@ static const WCHAR *CYGWIN_NATIVE = 
>>> L"CYGWIN_NATIVE_CLIPBOARD";
>>>   typedef struct
>>>   {
>>> -  timestruc_t    timestamp;
>>> -  size_t    len;
>>> -  char        data[1];
>>> +  uint64_t tv_sec;
>>> +  uint64_t tv_nsec;
>>> +  uint64_t len;
>>> +  char data[1];
>>>   } cygcb_t;
>>
>> The only problem with this is that it might leave readers scratching their 
>> heads unless they look at the commit that introduced this.  What 
> 
> I think the solution to that is a "comment" like "we don't use 'struct timespec' 
> here as it's different size on different arches and that causes problem XYZ".

And the same for size_t.

Ken


More information about the Cygwin-patches mailing list