On 4/30/2020 12:30 AM, Dmitry Kozlyuk wrote:
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


I will agree with Dmitry here. The fnmatch external code is shipping, production quality code. So it's better to use it than writing something new.

ranjit m.

Reply via email to