sys_socket: Avoid #define replacements in C++ mode.
authorBruno Haible <bruno@clisp.org>
Mon, 5 Apr 2010 16:34:08 +0000 (18:34 +0200)
committerBruno Haible <bruno@clisp.org>
Mon, 5 Apr 2010 16:34:08 +0000 (18:34 +0200)
ChangeLog
lib/sys_socket.in.h

index 055f3c03c0f453ff6d0c15d55a6b16b5613bf826..8a42bbc0fb013bce4023801d4ee346ec74acb8fb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2010-04-05  Bruno Haible  <bruno@clisp.org>
+
+       sys_socket: Avoid #define replacements in C++ mode.
+       * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
+       warning to the function if possible, rather than #defining the symbol
+       to a dysfunctional alias.
+
 2010-04-05  Bruno Haible  <bruno@clisp.org>
 
        fseeko: Fix C++ test error on mingw.
index 03579af8b048d3ba94f97aad7bf65605025bb5fd..c4daaacf6f08d1430d3d649feb5bcac5581f35b7 100644 (file)
@@ -183,13 +183,23 @@ rpl_fd_isset (SOCKET fd, fd_set * set)
 /* Wrap everything else to use libc file descriptors for sockets.  */
 
 #if @HAVE_WINSOCK2_H@ && !defined _GL_UNISTD_H
-# undef close
-# define close close_used_without_including_unistd_h
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#  undef close
+#  define close close_used_without_including_unistd_h
+# else
+   _GL_WARN_ON_USE (close,
+                    "close() used without including <unistd.h>");
+# endif
 #endif
 
 #if @HAVE_WINSOCK2_H@ && !defined _GL_UNISTD_H
-# undef gethostname
-# define gethostname gethostname_used_without_including_unistd_h
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#  undef gethostname
+#  define gethostname gethostname_used_without_including_unistd_h
+# else
+   _GL_WARN_ON_USE (gethostname,
+                    "gethostname() used without including <unistd.h>");
+# endif
 #endif
 
 #if @GNULIB_SOCKET@
@@ -571,8 +581,13 @@ _GL_WARN_ON_USE (shutdown, "shutdown is not always POSIX compliant - "
 #endif
 
 #if @HAVE_WINSOCK2_H@
-# undef select
-# define select                select_used_without_including_sys_select_h
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#  undef select
+#  define select select_used_without_including_sys_select_h
+# else
+   _GL_WARN_ON_USE (select,
+                    "select() used without including <sys/select.h>");
+# endif
 #endif
 
 #if @GNULIB_ACCEPT4@