[Top][All Lists]
[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