rather it's a question about portability of code that
uses %s for both functions and expects it to work unchanged in the

Cygwin environment.

And the answer to that question is: such code _is_not_portable_, and
therefore that expectation is wrong.

If that code claims to be portable, then its use of %s in either of
those functions constitutes a _bug_.

In the old days there was a well-known fallacy known by the slogan "all
the world's a VAX." Nowadays it appears to have been replaced by an
equally wide-spread, and equally incorrect belief that all the world is
Linux. Well, it's not. Not even the whole Un*x world is Linux.