Update Gnulib to v0.1-77-gd9361da
[bpt/guile.git] / lib / inet_pton.c
index bceeec6..52ae317 100644 (file)
@@ -1,6 +1,6 @@
 /* inet_pton.c -- convert IPv4 and IPv6 addresses from text to binary form
 
-   Copyright (C) 2006, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2008-2014 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
 /* Specification.  */
 #include <arpa/inet.h>
 
-#include <c-ctype.h>
-#include <string.h>
-#include <errno.h>
+#if HAVE_DECL_INET_PTON
 
-#define NS_INADDRSZ 4
-#define NS_IN6ADDRSZ 16
-#define NS_INT16SZ 2
+# undef inet_pton
+
+int
+rpl_inet_pton (int af, const char *restrict src, void *restrict dst)
+{
+  return inet_pton (af, src, dst);
+}
+
+#else
+
+# include <c-ctype.h>
+# include <string.h>
+# include <errno.h>
+
+# define NS_INADDRSZ 4
+# define NS_IN6ADDRSZ 16
+# define NS_INT16SZ 2
 
 /*
  * WARNING: Don't even consider trying to compile this on a system where
@@ -51,9 +63,9 @@
  */
 
 static int inet_pton4 (const char *src, unsigned char *dst);
-#if HAVE_IPV6
+# if HAVE_IPV6
 static int inet_pton6 (const char *src, unsigned char *dst);
-#endif
+# endif
 
 /* int
  * inet_pton(af, src, dst)
@@ -61,8 +73,8 @@ static int inet_pton6 (const char *src, unsigned char *dst);
  *      to network format (which is usually some kind of binary format).
  * return:
  *      1 if the address was valid for the specified address family
- *      0 if the address wasn't valid (`dst' is untouched in this case)
- *      -1 if some other error occurred (`dst' is untouched in this case, too)
+ *      0 if the address wasn't valid ('dst' is untouched in this case)
+ *      -1 if some other error occurred ('dst' is untouched in this case, too)
  * author:
  *      Paul Vixie, 1996.
  */
@@ -74,10 +86,10 @@ inet_pton (int af, const char *restrict src, void *restrict dst)
     case AF_INET:
       return (inet_pton4 (src, dst));
 
-#if HAVE_IPV6
+# if HAVE_IPV6
     case AF_INET6:
       return (inet_pton6 (src, dst));
-#endif
+# endif
 
     default:
       errno = EAFNOSUPPORT;
@@ -91,9 +103,9 @@ inet_pton (int af, const char *restrict src, void *restrict dst)
  *      like inet_aton() but without all the hexadecimal, octal (with the
  *      exception of 0) and shorthand.
  * return:
- *      1 if `src' is a valid dotted quad, else 0.
+ *      1 if 'src' is a valid dotted quad, else 0.
  * notice:
- *      does not touch `dst' unless it's returning 1.
+ *      does not touch 'dst' unless it's returning 1.
  * author:
  *      Paul Vixie, 1996.
  */
@@ -141,15 +153,15 @@ inet_pton4 (const char *restrict src, unsigned char *restrict dst)
   return (1);
 }
 
-#if HAVE_IPV6
+# if HAVE_IPV6
 
 /* int
  * inet_pton6(src, dst)
  *      convert presentation level address to network order binary form.
  * return:
- *      1 if `src' is a valid [RFC1884 2.2] address, else 0.
+ *      1 if 'src' is a valid [RFC1884 2.2] address, else 0.
  * notice:
- *      (1) does not touch `dst' unless it's returning 1.
+ *      (1) does not touch 'dst' unless it's returning 1.
  *      (2) :: in a full address is silently ignored.
  * credit:
  *      inspired by Mark Andrews.
@@ -250,4 +262,7 @@ inet_pton6 (const char *restrict src, unsigned char *restrict dst)
   memcpy (dst, tmp, NS_IN6ADDRSZ);
   return (1);
 }
+
+# endif
+
 #endif