On 01/09/2012 09:46 AM, Vitaliy Margolen wrote: > On 01/08/2012 08:45 PM, Jay Yang wrote: >> Fixed some small formatting issues from last time. >> > > Your patch strips spaces all over the place. For example: > + LPWSTR *argv; > + if(commandline[0]=='\0') > Need an empty line after variable declarations. > No space after "if". No space around equal operator. > > + for(i=0;i<argc;i++) > No spaces after semi-colon. > > + copy_path_string(parameters->root,curr); > No space after coma. > I'll fix these
> Some other issues - you will parse over parameters given to the program. Ex: > explorer /desktop=foo,800x600 program.exe /n /e > the "/desktop" command causes a the parsing to go back to the original command line and reparse it. I can add a comment for this. So in this particular case, manage_desktop is called with "=foo,800x600 program.exe /n /e", which should be correct > Parsing inside parameters is incorrect: > + LPWSTR end=strchrW(curr,','); > + LPWSTR next; > + if(end==NULL) > + next=(end=strchrW(curr,'\0')); > + else > + next=end+1; > ... > + curr=next; > > You end up parsing something like this as a valid param: > /n,/e,/select,c:\\ Windows accepts this. If one types explorer /n,/e,/select,c:\ into the windows command line, it opens My Computer with the c:\ drive selected. Incidentally this is not quite what wine does because copy_path_root only tries to strip the last part of the path and the wine explorer currently doesn't actually select anything, even with the select parameter. Should I fix this in this patch or another patch?