[PATCH] Cygwin: Make native clipboard layout same for 32- and 64-bit
Takashi Yano
takashi.yano@nifty.ne.jp
Fri Oct 8 09:52:10 GMT 2021
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;
fhandler_dev_clipboard::fhandler_dev_clipboard ()
@@ -74,7 +75,10 @@ fhandler_dev_clipboard::set_clipboard (const void *buf, size_t len)
}
clipbuf = (cygcb_t *) GlobalLock (hmem);
- clock_gettime (CLOCK_REALTIME, &clipbuf->timestamp);
+ struct timespec ts;
+ clock_gettime (CLOCK_REALTIME, &ts);
+ clipbuf->tv_sec = ts.tv_sec;
+ clipbuf->tv_nsec = ts.tv_nsec;
clipbuf->len = len;
memcpy (clipbuf->data, buf, len);
@@ -179,7 +183,10 @@ fhandler_dev_clipboard::fstat (struct stat *buf)
&& (hglb = GetClipboardData (format))
&& (clipbuf = (cygcb_t *) GlobalLock (hglb)))
{
- buf->st_atim = buf->st_mtim = clipbuf->timestamp;
+ struct timespec ts;
+ ts.tv_sec = clipbuf->tv_sec;
+ ts.tv_nsec = clipbuf->tv_nsec;
+ buf->st_atim = buf->st_mtim = ts;
buf->st_size = clipbuf->len;
GlobalUnlock (hglb);
}
--
Takashi Yano <takashi.yano@nifty.ne.jp>
More information about the Cygwin-patches
mailing list