[PATCH] Cygwin: clipboard: Make intent of the code clearer.

Takashi Yano takashi.yano@nifty.ne.jp
Fri Dec 10 10:56:47 GMT 2021


On Wed,  8 Dec 2021 21:26:45 +0900
Takashi Yano wrote:
> ---
>  winsup/cygwin/fhandler_clipboard.cc   | 4 ++--
>  winsup/cygwin/include/sys/clipboard.h | 1 +
>  2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/winsup/cygwin/fhandler_clipboard.cc b/winsup/cygwin/fhandler_clipboard.cc
> index 05f54ffb3..14820701c 100644
> --- a/winsup/cygwin/fhandler_clipboard.cc
> +++ b/winsup/cygwin/fhandler_clipboard.cc
> @@ -76,7 +76,7 @@ fhandler_dev_clipboard::set_clipboard (const void *buf, size_t len)
>        clipbuf->cb_sec  = clipbuf->ts.tv_sec;
>  #endif
>        clipbuf->cb_size = len;
> -      memcpy (&clipbuf[1], buf, len); // append user-supplied data
> +      memcpy (clipbuf->cb_data, buf, len); // append user-supplied data
>  
>        GlobalUnlock (hmem);
>        EmptyClipboard ();
> @@ -229,7 +229,7 @@ fhandler_dev_clipboard::read (void *ptr, size_t& len)
>        if (pos < (off_t) clipbuf->cb_size)
>  	{
>  	  ret = (len > (clipbuf->cb_size - pos)) ? clipbuf->cb_size - pos : len;
> -	  memcpy (ptr, (char *) (clipbuf + 1) + pos, ret);
> +	  memcpy (ptr, clipbuf->cb_data + pos, ret);
>  	  pos += ret;
>  	}
>      }
> diff --git a/winsup/cygwin/include/sys/clipboard.h b/winsup/cygwin/include/sys/clipboard.h
> index 4c00c8ea1..932fe98d9 100644
> --- a/winsup/cygwin/include/sys/clipboard.h
> +++ b/winsup/cygwin/include/sys/clipboard.h
> @@ -44,6 +44,7 @@ typedef struct
>      };
>    };
>    uint64_t      cb_size; // 8 bytes everywhere
> +  char          cb_data[];
>  } cygcb_t;
>  
>  #endif
> -- 
> 2.34.1

What should we do with this one?

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>


More information about the Cygwin-patches mailing list