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

Reply via email to