SETUPAPI: Fix whitespace handling in the INF parser.

Matthew Davison mjd77 at cam.ac.uk
Fri Jul 22 03:52:53 CDT 2005


On Fri, 2005-07-22 at 09:36 +0200, Alexandre Julliard wrote:
> Matthew Davison <mjd77 at cam.ac.uk> writes:
> 
> > Without this patch, the INF parser in setupapi will strip any spaces
> > which are not inside quotes from an INF file. Windows will only strip
> > spaces at the start and end of each field/line.
> 
> This is supposed to be handled by the TRAILING_SPACES state
> already. Do you have a test case demonstrating the problem?

The Trailing Spaces state strips ALL spaces outside of quotes, which is
wrong and leads to a space being wrongly stripped from several
(non-vital) lines in the IE6 installer. This is responsible for the 15
0r so lines looking like:

err:rundll32:main Unable to find the entry point L"DelNodeRunDLL32C:\\\
\Program" in L"adpack.dll"

In the console output of setup
Rundll32 is fail to find an entry point DelNodeRunDll32C:\\Program,
because the space has been erroneously stripped. 

The Line in the INF file looks like:
rundll32.exe advpack.dll,DelNodeRunDLL32 "%24%\%LProgramF%\%
UninstallData%\IE UserData NT"

What my patch does is prevent us going into Trailing_Spaces unless there
really are only spaces left in the current field of the line, which
prevents this error, and allows the spaces to remain. 

-- 
Matthew Davison <mjd77 at cam.ac.uk>






More information about the wine-devel mailing list