On 2020-04-30 08:52 GMT+0200 Thomas Monjalon wrote: > 30/04/2020 01:24, Pallavi Kadam: > > Added fnmatch implementation on Windows to support > > log level arguments. > > The source file is with BSD-3-Clause license. > > https://github.com/lattera/freebsd/blob/master/usr.bin/csup/fnmatch.c > > Sorry for the naive question, I don't know Windows programming. > > Do we really need this external code? > Why RtlIsNameInExpression from Windows cannot be used? > https://docs.microsoft.com/en-us/windows/win32/devnotes/rtlisnameinexpression
The general reason not to use Win32 API for globbing is poorly documented contract: what are the exact matching rules? They're definitely incompatible with fnmatch(3). IMO small external code is better than unknown behavior. RtlIsNameInExpression is an internal call for drivers and services with a cumbersome API. PathMatchSpecA is the user-mode interface, but see above. https://docs.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-pathmatchspeca -- Dmitry Kozlyuk