mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-20 21:08:08 +01:00
added test for C99 vsnprintf
This commit is contained in:
26
configure.in
26
configure.in
@@ -103,6 +103,32 @@ AC_FUNC_ALLOCA
|
|||||||
AC_CHECK_FUNCS(gethostname select poll strerror strcasecmp strncasecmp setpgid atexit mallinfo snprintf vsnprintf asprintf vasprintf mkstemp)
|
AC_CHECK_FUNCS(gethostname select poll strerror strcasecmp strncasecmp setpgid atexit mallinfo snprintf vsnprintf asprintf vasprintf mkstemp)
|
||||||
|
|
||||||
|
|
||||||
|
dnl ripped from samba
|
||||||
|
dnl
|
||||||
|
C_CACHE_CHECK([for C99 vsnprintf],_cv_HAVE_C99_VSNPRINTF,[
|
||||||
|
AC_TRY_RUN([
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
void foo(const char *format, ...) {
|
||||||
|
va_list ap;
|
||||||
|
int len;
|
||||||
|
char buf[5];
|
||||||
|
|
||||||
|
va_start(ap, format);
|
||||||
|
len = vsnprintf(0, 0, format, ap);
|
||||||
|
va_end(ap);
|
||||||
|
if (len != 5) exit(1);
|
||||||
|
|
||||||
|
if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
|
||||||
|
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
main() { foo("hello"); }
|
||||||
|
],
|
||||||
|
_cv_HAVE_C99_VSNPRINTF=yes,_cv_HAVE_C99_VSNPRINTF=no,_cv_HAVE_C99_VSNPRINTF=cross)])
|
||||||
|
if test x"$_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
|
||||||
|
AC_DEFINE(HAVE_C99_VSNPRINTF)
|
||||||
|
fi
|
||||||
|
|
||||||
dnl Loading of dynamic libraries at runtime
|
dnl Loading of dynamic libraries at runtime
|
||||||
dnl =======================================
|
dnl =======================================
|
||||||
|
|||||||
Reference in New Issue
Block a user