fnmatch improvements
Bruno Haible
bruno@clisp.org
Thu Jul 27 10:15:54 GMT 2023
Hi,
Gnulib has, for the first time, an fnmatch() implementation that supports
characters outside the Unicode Basic Multilingual Plane (BMP), even on Cygwin
with its 16-bits wchar_t type. That is, in an UTF-8 locale, e.g.
fnmatch ("x?y", "x\360\237\230\213y", 0)
now returns 0.
This implementation also implements GNU extensions, as documented in
https://www.gnu.org/software/libc/manual/html_node/Wildcard-Matching.html
Now, I see that in the Cygwin master branch the fnmatch implementation has
been improved, supposedly handling non-BMP characters and character classes
as well.
Therefore I would find it interesting to know whether the Cygwin 3.5.0 fnmatch()
now still gets overridden by the gnulib one and, if no, whether it passes the
gnulib test suite.
I can't easily install a Cygwin 3.5.0 snapshot. If one of you would like to
help, here's how to:
1. Create an environment for working with a Cygwin 3.5.0 snapshot (from
March 2023 or newer).
2. wget https://haible.de/bruno/gnu/testdir-fnmatch.tar.gz
3. tar xfz testdir-fnmatch.tar.gz
4. cd testdir-fnmatch-posix
./configure 2>&1 | tee log1
make
make check
grep fnmatch log1
grep REPLACE_FNMATCH config.status
cd ..
5. cd testdir-fnmatch-gnu
./configure 2>&1 | tee log1
make
make check
grep fnmatch log1
grep REPLACE_FNMATCH config.status
cd ..
and provide the build and grep results.
Thanks!
Bruno
More information about the Cygwin
mailing list