Bruno Haible <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> + * 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 [EMAIL PROTECTED]@]: Inline inet_ntop.h + declarations. + [EMAIL PROTECTED]@]: 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 <[EMAIL PROTECTED]> + * 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 [EMAIL PROTECTED]@ +/* 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 [EMAIL PROTECTED]@ +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