Dmitry Timoshkov wrote:
"David Moore" davidm@sjsoft.com wrote:
The patch below first checks to see if the codepage is one of the exceptions, and if it is, passes in NULLs for the last two arguments.
I wonder how did you build the list of exceptions: why CP_UTF7 is there but CP_UTF8 is not? Why 50xxx,52xxx,57xxx code pages are there?
I'd suggest as a start to have only CP_UTF7, CP_UTF8 and CP_SYMBOL in the exception list.
I did miss CP_UTF8, as that wasn't part of the main list of exceptions. I will fix that and resubmit.
I didn't build the list of exceptions. If you take a look at the documentation here: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/unicod.... Under the description for dwflags, it lists all the codepages I have made the exception for. Under the descriptions for lpDefaultChar and lpUsedDefaultChar, it has the following line:
"For the code pages mentioned in /dwFlags/, /lpUsedDefaultChar/ must be NULL, otherwise the function fails with ERROR_INVALID_PARAMETER."
Thus, the list of exceptions comes straight from the documentation for this function.
I will change the patch to only CP_UTF7, CP_UTF8 and CP_SYMBOL if you still suggest I do - this solves my problem. I just thought that my patch as currently stands (and more so with the addition of CP_UTF8) is more correct. Please advise.
thanks, David Moore