Peter Hunnisett hunnise@yahoo.com writes:
- Can wvnsprintf be moved from user32 into shlwapi? This would cause
user32 to have to import shlwapi (because wsprintfA and friends use it in their implementation) and I don't know if that's legal because user32 seems to only import gdi32 and kernel32. If not, what's the solution? Reimplement everything in user32 to not use wvnsprintf and move the implementation over or just keep the existing situation and rename wvnsprintf to wvnsprintf and forward the shlwapi calls to user32?
user32 cannot import shlwapi, since this would create a circular dependency. Since the functions are needed both in user32 and shlwapi, they have to be implemented in user32 and forwarded from shlwapi to user32 (the alternative is to have two complete wsprintf implementations, which is a bit of a pain). I guess you could also rename the user32 ones, but this is not strictly necessary (and the current name has the advantage of following the C library naming of vsnprintf).