bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: provide inet_?to? declarations in arpa_inet.h


From: Simon Josefsson
Subject: Re: provide inet_?to? declarations in arpa_inet.h
Date: Mon, 28 Apr 2008 17:44:37 +0200
User-agent: Gnus/5.110009 (No Gnus v0.9) Emacs/22.2 (gnu/linux)

Bruno Haible <address@hidden> writes:

> Hi Simon,
>
>> I would also favor removing both inet_ntop.h and inet_pton.h, and use
>> arpa/inet.h for the declarations, as you suggested.
>
> Me too.

Yoann, Bruno,
I've pushed the following, please test it.

/Simon

>From 33d11481e0930865b73ae2cf69403fe95223bb9a Mon Sep 17 00:00:00 2001
From: Simon Josefsson <address@hidden>
Date: Mon, 28 Apr 2008 17:40:25 +0200
Subject: [PATCH] Move inet_ntop and inet_pton declarations to arpa/inet.h.

---
 ChangeLog          |   16 ++++++++++++++++
 lib/arpa_inet.in.h |   24 ++++++++++++++++++++++--
 lib/inet_ntop.c    |    4 ++--
 lib/inet_ntop.h    |   42 ------------------------------------------
 lib/inet_pton.c    |    4 ++--
 lib/inet_pton.h    |   24 ------------------------
 m4/inet_ntop.m4    |    7 +++----
 m4/inet_pton.m4    |    7 +++----
 modules/inet_ntop  |    3 +--
 modules/inet_pton  |    3 +--
 10 files changed, 50 insertions(+), 84 deletions(-)
 delete mode 100644 lib/inet_ntop.h
 delete mode 100644 lib/inet_pton.h

diff --git a/ChangeLog b/ChangeLog
index 147e944..53fe2a8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,21 @@
 2008-04-28  Simon Josefsson  <address@hidden>
 
+       * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
+
+       * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
+
+       * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
+
+       * lib/arpa_inet.in.h address@hidden@]: Inline inet_ntop.h
+       declarations.
+       address@hidden@]: Inline inet_pton.h declarations.
+
+       * m4/inet_pton.m4: Don't check for header files.
+
+       * m4/inet_ntop.m4: Don't check for header files.
+
+2008-04-28  Simon Josefsson  <address@hidden>
+
        * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
        * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
        trigger for cygwin).
diff --git a/lib/arpa_inet.in.h b/lib/arpa_inet.in.h
index f043e59..900f7f3 100644
--- a/lib/arpa_inet.in.h
+++ b/lib/arpa_inet.in.h
@@ -23,7 +23,25 @@
 #include <sys/socket.h>
 
 #if @GNULIB_INET_NTOP@
-# include <inet_ntop.h>
+# if address@hidden@
+/* Converts an internet address from internal format to a printable,
+   presentable format.
+   AF is an internet address family, such as AF_INET or AF_INET6.
+   SRC points to a 'struct in_addr' (for AF_INET) or 'struct in6_addr'
+   (for AF_INET6).
+   DST points to a buffer having room for CNT bytes.
+   The printable representation of the address (in numeric form, not
+   surrounded by [...], no reverse DNS is done) is placed in DST, and
+   DST is returned.  If an error occurs, the return value is NULL and
+   errno is set.  If CNT bytes are not sufficient to hold the result,
+   the return value is NULL and errno is set to ENOSPC.  A good value
+   for CNT is 46.
+
+   For more details, see the POSIX:2001 specification
+   <http://www.opengroup.org/susv3xsh/inet_ntop.html>.  */
+extern const char *inet_ntop (int af, const void *restrict src,
+                             char *restrict dst, socklen_t cnt);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef inet_ntop
 # define inet_ntop(af,src,dst,cnt)                                     \
@@ -33,7 +51,9 @@
 #endif
 
 #if @GNULIB_INET_PTON@
-# include <inet_pton.h>
+# if address@hidden@
+extern int inet_pton (int af, const char *restrict src, void *restrict dst);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef inet_pton
 # define inet_pton(af,src,dst)                     \
diff --git a/lib/inet_ntop.c b/lib/inet_ntop.c
index 537b59f..16eb109 100644
--- a/lib/inet_ntop.c
+++ b/lib/inet_ntop.c
@@ -1,6 +1,6 @@
 /* inet_ntop.c -- convert IPv4 and IPv6 addresses from binary to text form
 
-   Copyright (C) 2005, 2006  Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2008  Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -36,7 +36,7 @@
 #include <config.h>
 
 /* Specification.  */
-#include "inet_ntop.h"
+#include <arpa/inet.h>
 
 #include <stdio.h>
 #include <string.h>
diff --git a/lib/inet_ntop.h b/lib/inet_ntop.h
deleted file mode 100644
index bd1e085..0000000
--- a/lib/inet_ntop.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Convert internet address from internal to printable, presentable format.
-   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-/* Converts an internet address from internal format to a printable,
-   presentable format.
-   AF is an internet address family, such as AF_INET or AF_INET6.
-   SRC points to a 'struct in_addr' (for AF_INET) or 'struct in6_addr'
-   (for AF_INET6).
-   DST points to a buffer having room for CNT bytes.
-   The printable representation of the address (in numeric form, not
-   surrounded by [...], no reverse DNS is done) is placed in DST, and
-   DST is returned.  If an error occurs, the return value is NULL and
-   errno is set.  If CNT bytes are not sufficient to hold the result,
-   the return value is NULL and errno is set to ENOSPC.  A good value
-   for CNT is 46.
-
-   For more details, see the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/inet_ntop.html>.  */
-
-#if !HAVE_DECL_INET_NTOP
-extern const char *inet_ntop (int af, const void *restrict src,
-                             char *restrict dst, socklen_t cnt);
-#endif
diff --git a/lib/inet_pton.c b/lib/inet_pton.c
index 6cbf8cb..261caf1 100644
--- a/lib/inet_pton.c
+++ b/lib/inet_pton.c
@@ -1,6 +1,6 @@
 /* inet_pton.c -- convert IPv4 and IPv6 addresses from text to binary form
 
-   Copyright (C) 2006 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2008 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -35,7 +35,7 @@
 #include <config.h>
 
 /* Specification.  */
-#include "inet_pton.h"
+#include <arpa/inet.h>
 
 #include <ctype.h>
 #include <string.h>
diff --git a/lib/inet_pton.h b/lib/inet_pton.h
deleted file mode 100644
index 3335cb8..0000000
--- a/lib/inet_pton.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Convert internet address from text to binary format.
-   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#if !HAVE_DECL_INET_PTON
-extern int inet_pton (int af, const char *restrict src, void *restrict dst);
-#endif
diff --git a/m4/inet_ntop.m4 b/m4/inet_ntop.m4
index bb02d22..0848c07 100644
--- a/m4/inet_ntop.m4
+++ b/m4/inet_ntop.m4
@@ -1,5 +1,5 @@
-# inet_ntop.m4 serial 3
-dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+# inet_ntop.m4 serial 4
+dnl Copyright (C) 2005, 2006, 2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -10,9 +10,8 @@ AC_DEFUN([gl_INET_NTOP],
   gl_PREREQ_INET_NTOP
 ])
 
-# Prerequisites of lib/inet_ntop.h and lib/inet_ntop.c.
+# Prerequisites of lib/inet_ntop.c.
 AC_DEFUN([gl_PREREQ_INET_NTOP], [
-  AC_CHECK_HEADERS_ONCE([netinet/in.h arpa/inet.h])
   AC_CHECK_DECLS([inet_ntop],,,[#include <arpa/inet.h>])
   AC_REQUIRE([gl_SOCKET_FAMILIES])
   AC_REQUIRE([AC_C_RESTRICT])
diff --git a/m4/inet_pton.m4 b/m4/inet_pton.m4
index 85e802c..58f2c31 100644
--- a/m4/inet_pton.m4
+++ b/m4/inet_pton.m4
@@ -1,5 +1,5 @@
-# inet_pton.m4 serial 2
-dnl Copyright (C) 2006 Free Software Foundation, Inc.
+# inet_pton.m4 serial 3
+dnl Copyright (C) 2006, 2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -10,9 +10,8 @@ AC_DEFUN([gl_INET_PTON],
   gl_PREREQ_INET_PTON
 ])
 
-# Prerequisites of lib/inet_pton.h and lib/inet_pton.c.
+# Prerequisites of lib/inet_pton.c.
 AC_DEFUN([gl_PREREQ_INET_PTON], [
-  AC_CHECK_HEADERS_ONCE([netinet/in.h arpa/inet.h])
   AC_CHECK_DECLS([inet_pton],,,[#include <arpa/inet.h>])
   AC_REQUIRE([gl_SOCKET_FAMILIES])
   AC_REQUIRE([AC_C_RESTRICT])
diff --git a/modules/inet_ntop b/modules/inet_ntop
index 1779359..a83ea80 100644
--- a/modules/inet_ntop
+++ b/modules/inet_ntop
@@ -2,7 +2,6 @@ Description:
 Convert internet address from internal to printable, presentable format.
 
 Files:
-lib/inet_ntop.h
 lib/inet_ntop.c
 m4/inet_ntop.m4
 
@@ -22,7 +21,7 @@ License:
 LGPLv2+
 
 Include:
-"inet_ntop.h"
+#include <arpa/inet.h>
 
 Maintainer:
 Yoann Vandoorselaere, glibc
diff --git a/modules/inet_pton b/modules/inet_pton
index 3b6166d..74a68b7 100644
--- a/modules/inet_pton
+++ b/modules/inet_pton
@@ -2,7 +2,6 @@ Description:
 Convert internet address from presentation to internal, binary, format.
 
 Files:
-lib/inet_pton.h
 lib/inet_pton.c
 m4/inet_pton.m4
 
@@ -22,7 +21,7 @@ License:
 LGPL
 
 Include:
-"inet_pton.h"
+#include <arpa/inet.h>
 
 Maintainer:
 Simon Josefsson, glibc
-- 
1.5.5





reply via email to

[Prev in Thread] Current Thread [Next in Thread]