Subject: Re: bug#6674: [PATCH fixed] bug#6674: fix assignment of grep-find-use-xargs on Windows/MS-DOS

From: Óscar Fuentes <[email-masked]>
Date: Mon, 02 Aug 2010 22:15:02 +0200

Óscar Fuentes <[email-masked]> writes:

>>> 	* cmdproxy.c (main): use _snprintf instead of wsprintf. Fixes
>>> 	bug#6647. wsprintf has a 1024 char limit on Windows.
>>
>> Thanks.
>>
>> wsprintf supports wide character (UTF-16) strings, whereas _snprintf
>> does not.
>
> wsprintf supports UTF-16 iff the application is compiled with Unicode
> support on. cmdproxy uses char, not wchar_t, so if the build switches on
> Unicode the compilation will fail.

This is poorly explained. To begin, cmdproxy, as it was before the
patch, does not support UTF-16. For fixing that, you need to start
by implementing

int wmain(int argc, wchar_t *argv[])

and revise all string handling from there. The workload the patch adds
for migrating cmdproxy to UTF-16 would consist on
s/_snprintf/_snwprintf. Not doing that would cause compilation errors.

[snip]