Ken Brown wrote:
On 10/9/2021 10:29 AM, Jon Turney wrote:
[...]
On 10/8/2021 5:52 AM, Takashi Yano wrote:
[...]

Thanks all for the comments; much appreciated. They'll be factored into v2 in one form or another. I pronounced my original patch "bad" not because of any problem with code operation or struct cygcb_t definition. I used anonymous union and anonymous struct internally to mostly realize what Takashi suggested for layout, just naming the items cb_* rather than tv_* or other. The code works as intended, 32- and 64-bit.

It's just that after submitting the patch I realized that, if we really are going to support both Cygwin archs (x86_64 and i686), there is still the issue of different cygcb_t layouts between Cygwin versions being ignored.

Specifically, the fhandler_clipboard::fstat routine can't tell which Cygwin environment has set the clipboard contents. My original patch takes care of 32-bit and 64-bit, providing both are running Cygwin >= 3.3.0 (presumably). What if it was a different version (pre 3.3.0) that set the contents?

So I'm working on a heuristic to identify which cygcb_t layout is present in the clipboard data. This will hopefully distinguish between the 3 historical cygcb_t layouts as well as x86_64 differing from i686 for each one.
Stay tuned,

..mark

Reply via email to