CharUpperW() is towupper().
Well, CharUpper() works with strings instead of characters. So that's what I changed in the pattern matching function.
No, it also works on characters. Check MSDN. ;)
# [in/out] Pointer to a null-terminated string or specifies a single character. # If the high-order word of this parameter is zero, the low-order word must # contain a single character to be converted.
What a hack! ;-)