On 02/12/2013 12:57, Duy Nguyen wrote:
>> I suggest use C preprocessor instead. The person who complete git (make
>> debian, rpm etc. package) decide enable it or not (disable by default).
>> Most of people use git from distribution instead of complete it from source.
>>
>> #ifndef VSNPRINTF_OK
>> setlocale(LC_CTYPE, "C");
>> #endif
>>
> A single vsnprintf is cheap enough that I would not worry about
> performance impact. Given a choice between this and distro
> maintainers, some of them do check release notes, some not so much,
> I'd rather go with this.
We can set this macro automatically by using autoconf.
Add following code in configure.ac
AC_LANG_CONFTEST(
[AC_LANG_PROGRAM([[
#include <stdio.h>
#include <locale.h>
#include <gnu/libc-version.h>
#define STR "David_K\345gedal"
]],[[
char buf[20];
setlocale(LC_ALL, "en_US.UTF-8");
if (snprintf(buf, 13, "%.13s", STR) < 0){
printf("0");
}else{
printf("1");
}
]])])
gcc -o conftest conftest.c
AC_DEFINE([VSNPRINTF_OK], [m4_esyscmd([./conftest])], [Enable l10n libc
if vnsprintf OK])
You can change c code here!
--
Trần Ngọc Quân.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html