summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1999-11-01 21:35:15 +0000
committerAndrew Tridgell <tridge@samba.org>1999-11-01 21:35:15 +0000
commitb17bc22bb3fc0c64092f31a31acbe21947c775ab (patch)
treec8024750b81dcf3792fe52c427feb6bd9b71f2f9
parent3adffb52e615d5e0ae4b00bf6dbca736af1d8860 (diff)
downloadrsync-b17bc22bb3fc0c64092f31a31acbe21947c775ab.tar.gz
added a replacement inet_aton() for systems that don't have it.
thanks to Dave for pointing this out.
-rw-r--r--configure.in2
-rw-r--r--lib/compat.c16
2 files changed, 17 insertions, 1 deletions
diff --git a/configure.in b/configure.in
index ab2ccc3c..80f46508 100644
--- a/configure.in
+++ b/configure.in
@@ -53,7 +53,7 @@ AC_FUNC_UTIME_NULL
AC_CHECK_FUNCS(waitpid wait4 getcwd strdup strerror chown chmod mknod)
AC_CHECK_FUNCS(fchmod fstat strchr readlink link utime utimes strftime)
AC_CHECK_FUNCS(memmove lchown vsnprintf snprintf setsid glob strpbrk)
-AC_CHECK_FUNCS(strlcat strlcpy)
+AC_CHECK_FUNCS(strlcat strlcpy inet_aton)
AC_CACHE_CHECK([for working fnmatch],rsync_cv_HAVE_FNMATCH,[
AC_TRY_RUN([#include <fnmatch.h>
diff --git a/lib/compat.c b/lib/compat.c
index 1bf46b9c..8580fdb9 100644
--- a/lib/compat.c
+++ b/lib/compat.c
@@ -145,3 +145,19 @@
return ret;
}
#endif
+
+#ifndef HAVE_INET_ATON
+ int inet_aton(const char *cp, struct in_addr *inp)
+{
+ if (strcmp(cp, "255.255.255.255") == 0) {
+ inp->s_addr = (unsigned) -1;
+ return 1;
+ }
+
+ inp->s_addr = inet_addr(cp);
+ if (inp->s_addr == (unsigned) -1) {
+ return 0;
+ }
+ return 1;
+}
+#endif