Steven Edwards wrote:
Hi Rob,
This is the reply from Hervé.
- Windows doesn't have a isspaceW method, so I tested the iswspace
method, which should be equivalent.
Test program: #include <stdio.h> #include <ctype.h>
int main(int argc, char *argv[]) { int space; space = iswspace(0xfeff); printf("iswspace(0xfeff) = %s\n", space ? "yes" : "no"); space = iswspace(L'a'); printf("iswspace(L'a') = %s\n", space ? "yes" : "no"); space = iswspace(L' '); printf("iswspace(L' ') = %s\n", space ? "yes" : "no"); return 0; }
Output on Windows XP SP2: iswspace(0xfeff) = no iswspace(L'a') = no iswspace(L' ') = yes
Output on ReactOS r18023 (2005/09/24) iswspace(0xfeff) = no iswspace(L'a') = no iswspace(L' ') = yes
Output on Wine 20050830 iswspace(0xfeff) = yes iswspace(L'a') = no iswspace(L' ') = yes
According to these results, I'm sure that the Wine implementation of iswspace is broken for some reason. I encourage Rob to use the above simple test program to make sure it works properly in Wine.
I have sent a patch to fix this. It is caused by an incorrect wctype table in Wine. Can you send the changes in this patch again (preferably with my original recommendation to split the patch into the two logically separate changes)?
Thanks,