setupapi: implement SetupGetInfFileListW and SetupGetInfInformationW

Steven Edwards winehacker at gmail.com
Mon Sep 26 22:33:05 CDT 2005


Hi Rob,

On 9/24/05, Robert Shearman <rob at codeweavers.com> wrote:
> >-    else err = parse_buffer( file, buffer, (WCHAR *)((char *)buffer + size), error_line );
> >+    else
> >+    {
> >+        WCHAR *new_buff = (WCHAR *)buffer;
> >+        /* Some UNICODE files may start with the UNICODE marker */
> >+        if (*new_buff == 0xfeff)
> >+            new_buff++;
> >+        err = parse_buffer( file, new_buff, (WCHAR *)((char *)new_buff + size), error_line );
> >+    }
>
> Any time a Zero-Width Non-breaking Space is specifically skipped like
> this it is a bug. You should *never* have to do this if you use the
> right functions (isspaceW, etc). Is there some other bug lurking that
> made this change necessary?

According to Hervé the *.inf files in the windows/system32/inf folder
had some junk chars in the Unicode header or something like that and
it causes the need for the skipping. He was worried that isspaceW
might not handle the junk properly. There is a question about the
sizeof WCHAR usage so I will check with him again and send along
another patch later in the week. If Alexandre does not like the check
I can also ask him to test it using isspaceW.

Thanks
Steven



More information about the wine-devel mailing list