diff --git a/config.c b/config.c index ceb70ec..85e4fe3 100644 --- a/config.c +++ b/config.c @@ -57,6 +57,17 @@ config_defaults (config_t * conf) #endif } +#ifndef HAVE_STRNDUP +static char * +strndup (const char *s, size_t nchars) +{ + char *r = malloc (sizeof (char) * (nchars + 1)); + strncpy (r, s, nchars); + r[nchars] = 0; + return r; +} +#endif /* ! HAVE_STRNDUP */ + char * expand_strdup (const char *s) { diff --git a/configure.in b/configure.in index d07b136..cbbbe86 100644 --- a/configure.in +++ b/configure.in @@ -8,14 +8,13 @@ AC_ARG_WITH(ssl-dir, [ --with-ssl-dir=DIR location where openssl is insalled], else AC_MSG_ERROR(can't find OpenSSL in $withval) fi]) -AC_REPLACE_FUNCS(strndup) -AC_CHECK_FUNCS(getopt_long) +AC_CHECK_FUNCS(getopt_long strndup) AC_CHECK_LIB(socket,socket) AC_CHECK_LIB(nsl,inet_ntoa) AC_CHECK_LIB(crypto,ERR_error_string) AC_CHECK_LIB(ssl,SSL_library_init) dnl test for gcc. use the prefix so we know that gcc-3.0 is also gcc -if test `echo $CC | sed s,^gcc.*,gcc,` = gcc; then +if test `echo $CC | sed 's/^gcc.*/gcc/'` = gcc; then CFLAGS="$CFLAGS -pipe -W -Wall -Wshadow -Wmissing-prototypes" fi AC_OUTPUT(Makefile)