Compile and run this program, it will crash:
#define NDEBUG
#include <ctype.h>
int main(void)
{
return isspace(0x3b);
}
The problem is that these optimized is* functions use a _ctype_ pointer to look
the variables up, however that pointer is 0.
Not even calling setlocale fixes this. A quick hack might be to ensure this
variable is initialized to some default table for ASCII.
As a side note, I have philosophical objections against the variable name, only
variables starting with two underscores or underscore and uppercase are
reserved for the system in POSIX, so this naming is probably not conformant.
However that is rather an issue with OpenBSD/NetBSD than this project.
Original issue reported on code.google.com by reimar.d...@gmail.com on 3 Mar 2013 at 9:15
Original issue reported on code.google.com by
reimar.d...@gmail.com
on 3 Mar 2013 at 9:15