That's is very interesting and useful, but I think there's two things
that
can be improved: first the debug delay patch, I wasn't able to find it out searching with gmane, maybe if you can add a link to the post on gmane it should be better :)
Yeah, it's a bit of a pain keeping track of useful patches that were never merged. Maybe we need a list somewhere.
The second thing is about the coding style. As I said before, I have a patch for shlwapi which fixes some MSXML/Borland XML Components problems with the builtin one, which wasn't accepted for some problem about the style and the placement of the variables. I posted it as a bug at http://bugs.winehq.org/show_bug.cgi?id=2385 . If you can add something about the coding style I can fix it up and repost it for inclusion.
A few things that jump out at me (not really reviewed the code itself):
- No C++ // style comments, I'm afraid. They aren't portable enough. - Use HeapAlloc() over malloc(), as it says in the cheatsheet - Are you sure there is a debugstr_a?? I can't think what it would do, ANSI strings can just be printed by regular printf - You have to declare all the variables at the start of a block. Yes, it's a pain. Another C portability rule. So, can't do this:
LPSTR foo = bar; StrCpyA(a, b); int i;
They all have to go at the top.
- Minor stylistic note: you can use strcpy rather than StrCpyA. But I doubt this was a problem. - Usually best to space stuff out, ie rather than this:
if ( temp_out == temp_out2 ) { temp_in += 3; continue; }
use this:
if ( temp_out == temp_out2 ) { temp_in += 3; continue; }
... again I doubt Alexandre would reject the patch because of this.
- //if ( *temp_in == '.' ) ... wine code generally doesn't do this. If you find it hard to match up a closing brace with the statement that opened it maybe you need ... *fanfare* EMACS! :)
- Is it possible to implement the ANSI version by converting to unicode then calling the wide version, rather than duplicate it?
The rest looks fine, I expect it was just the C portability stuff that tripped you up. Please do try again!
thanks -mike