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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html