From 9175d2048382c617a639fd3d437a9e06baa66d0f Mon Sep 17 00:00:00 2001 From: Ivo Timmermans Date: Wed, 29 Nov 2000 01:37:50 +0000 Subject: [PATCH] Added a check for a scanf that knows about %as. --- acconfig.h | 3 +++ configure.in | 10 +++++----- m4/gnuscanf.m4 | 25 +++++++++++++++++++++++++ system.h | 3 +++ 4 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 m4/gnuscanf.m4 diff --git a/acconfig.h b/acconfig.h index 7bb8efe1..031a337b 100644 --- a/acconfig.h +++ b/acconfig.h @@ -64,3 +64,6 @@ /* Define to 1 if checkpoint tracing is enabled */ #undef ENABLE_TRACING + +/* Define to 1 if scanf and friends understand %as */ +#undef HAVE_SCANF_AS diff --git a/configure.in b/configure.in index ed5f4469..70b767f8 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.in,v 1.13.2.27 2000/11/29 00:33:15 zarq Exp $ +dnl $Id: configure.in,v 1.13.2.28 2000/11/29 01:37:50 zarq Exp $ AC_INIT(src/tincd.c) AM_INIT_AUTOMAKE(tinc, 1.0pre4-cvs) @@ -71,9 +71,6 @@ jm_FUNC_REALLOC AM_GNU_GETTEXT -dnl Crypto stuff -tinc_OPENSSL - dnl Support for SunOS AC_CHECK_FUNC(socket, [], [ @@ -84,8 +81,11 @@ AC_CHECK_FUNC(gethostbyname, [], [ ]) -dnl Check for TUN/TAP support in the kernel +dnl These are defined in files in m4/ tinc_TUNTAP +tinc_OPENSSL +tinc_SCANF_AS + dnl Check if checkpoint tracing has to be enabled AC_ARG_ENABLE(tracing, diff --git a/m4/gnuscanf.m4 b/m4/gnuscanf.m4 new file mode 100644 index 00000000..fd8de464 --- /dev/null +++ b/m4/gnuscanf.m4 @@ -0,0 +1,25 @@ +dnl Check for a scanf that understands about %as as format specifier + +AC_DEFUN(tinc_SCANF_AS, +[ + AC_CACHE_CHECK([for a scanf that groks %as], tinc_cv_scanf_as, + [ + AC_TRY_RUN([ +/* Very naive program which will probably give a segmentation + fault if the sscanf doesn't work as expected. */ +#include +int main() { + char*s = NULL; + sscanf("string\n", "%as\n", &s); + if(s == NULL) + return 1; + return strcmp("string", s); +} + ], [tinc_cv_scanf_as="yes"], [tinc_cv_scanf_as="no"]) + ]) + +if test "$tinc_cv_scanf_as" = "yes" ; then + AC_DEFINE(HAVE_SCANF_AS) + AC_SUBST(HAVE_SCANF_AS) +fi +]) diff --git a/system.h b/system.h index 5691d8bc..51adca0b 100644 --- a/system.h +++ b/system.h @@ -45,5 +45,8 @@ # define strsignal(p) "" #endif +/* Other functions */ +#include + #endif /* __TINC_SYSTEM_H__ */ -- 2.20.1