+2006-11-02 Tim Van Holder <tim.vanholder@gmail.com> (tiny change)
+
+ * emacsclient.c [WINDOWSNT]: Define HAVE_INET_SOCKETS.
+ [!WINDOWSNT]: Include <netinet/in.h> if available.
+ [HAVE_SOCKETS]: Also require HAVE_INET_SOCKETS.
+ (IOCTL, IOCTL_BOOL_ARG): Remove.
+ (set_tcp_socket): Don't set the socket in blocking mode.
+ Remove c_arg.
+
2006-11-01 Juanma Barranquero <lekktu@gmail.com>
* emacsclient.c (fail) [WINDOWSNT]: Force the first argv passed to
# include <stdlib.h>
# define HAVE_SOCKETS
+# define HAVE_INET_SOCKETS
# define NO_SOCKETS_IN_FILE_SYSTEM
# define HSOCKET SOCKET
# define CLOSE_SOCKET closesocket
-# define IOCTL ioctlsocket
# define INITIALIZE() (initialize_sockets ())
-typedef unsigned long IOCTL_BOOL_ARG;
#else /* !WINDOWSNT */
-#ifdef HAVE_FCNTL_H
-# include <fcntl.h>
-#endif
-# include <netinet/in.h>
-# include <sys/ioctl.h>
+# ifdef HAVE_INET_SOCKETS
+# include <netinet/in.h>
+# endif
# define INVALID_SOCKET -1
# define HSOCKET int
# define CLOSE_SOCKET close
-# define IOCTL ioctl
# define INITIALIZE()
-typedef int IOCTL_BOOL_ARG;
#endif /* !WINDOWSNT */
}
\f
-#if !defined (HAVE_SOCKETS)
+#if !defined (HAVE_SOCKETS) || !defined (HAVE_INET_SOCKETS)
int
main (argc, argv)
fail (argc, argv);
}
-#else /* HAVE_SOCKETS */
+#else /* HAVE_SOCKETS && HAVE_INET_SOCKETS */
#ifdef WINDOWSNT
# include <winsock2.h>
{
HSOCKET s;
struct sockaddr_in server;
- IOCTL_BOOL_ARG c_arg = 0;
struct linger l_arg = {1, 1};
char auth_string[AUTH_KEY_LENGTH + 1];
return INVALID_SOCKET;
}
-#ifdef O_NONBLOCK
- IOCTL (s, O_NONBLOCK, &c_arg);
-#else
-#ifdef O_NDELAY
- IOCTL (s, O_NDELAY, &c_arg);
-#else
- IOCTL (s, FIONBIO, &c_arg);
-#endif
-#endif
setsockopt (s, SOL_SOCKET, SO_LINGER, (char *) &l_arg, sizeof l_arg);
/*
return EXIT_SUCCESS;
}
-#endif /* HAVE_SOCKETS */
+#endif /* HAVE_SOCKETS && HAVE_INET_SOCKETS */
#ifndef HAVE_STRERROR
char *