On 06/14/16 06:18, Alex Henrie wrote:
I just ran some more tests, and it turns out that the behavior of Vista and later is even weirder than I thought. On these systems, mbstowcs with a negative count writes one null byte to the output string before returning -1, but wcstombs returns -1 without writing anything.
I think I'd rather have the Windows XP / standard C behavior than the inconsistent, nonconformant Vista behavior.
I've moved your tests to msvcr90. The behavior is consistent there on all windows versions. I think it makes the tests easier to read. I've also changed the implementation so all tests are passing.
Thank you, Piotr