>Synopsis: fnmatch(3) does not match negated character classes such as
[![:space:]]
>Category: library
>Environment:
System : OpenBSD 5.8
Details : OpenBSD 5.8-stable (GENERIC) #0: Wed Feb 24 15:54:13 CET
2016
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC
Architecture: OpenBSD.amd64
Machine : amd64
>Description:
The fnmatch(3) C library function is broken on OpenBSD 5.8. Negated
character classes such as [![:space]] aren't matched.
The following test program outputs "fnmatch broken" on OpenBSD and
"fnmatch ok" on Mac OS X and Linux. (On NetBSD, it's broken too.)
>How-To-Repeat:
#include <stdio.h>
#include <fnmatch.h>
int main() {
int result=fnmatch("[![:space:]]", "x", 0);
if (result==0) {
printf("fnmatch ok\n");
return(0);
} else {
printf("fnmatch broken\n");
return(1);
}
}
>Fix:
Not known to me.