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 055f3c0..8a42bbc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 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.
        * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
        gl_FUNC_FSEEKO.
index 03579af..c4daaac 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@