On Fri, 2005-07-22 at 09:36 +0200, Alexandre Julliard wrote:
Matthew Davison mjd77@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.