(sock_err_message): New function.

(set_tcp_socket): Use it.
This commit is contained in:
Jason Rumney 2007-10-25 23:56:53 +00:00
parent a7d9e21f3c
commit d22b00e516
2 changed files with 30 additions and 2 deletions

View file

@ -395,6 +395,29 @@ extern int errno;
char send_buffer[SEND_BUFFER_SIZE + 1];
int sblen = 0; /* Fill pointer for the send buffer. */
/* On Windows, the socket library was historically separate from the standard
C library, so errors are handled differently. */
void
sock_err_message (function_name)
char *function_name;
{
#ifdef WINDOWSNT
char* msg = NULL;
FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM
| FORMAT_MESSAGE_ALLOCATE_BUFFER
| FORMAT_MESSAGE_ARGUMENT_ARRAY,
NULL, WSAGetLastError (), 0, (LPTSTR)&msg, 0, NULL);
message (TRUE, "%s: %s: %s\n", progname, function_name, msg);
LocalFree (msg);
#else
message (TRUE, "%s: %s: %s\n", progname, function_name, strerror (errno));
#endif
}
/* Let's send the data to Emacs when either
- the data ends in "\n", or
- the buffer is full (but this shouldn't happen)
@ -646,7 +669,7 @@ set_tcp_socket ()
*/
if ((s = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0)
{
message (TRUE, "%s: socket: %s\n", progname, strerror (errno));
sock_err_message ("socket");
return INVALID_SOCKET;
}
@ -655,7 +678,7 @@ set_tcp_socket ()
*/
if (connect (s, (struct sockaddr *) &server, sizeof server) < 0)
{
message (TRUE, "%s: connect: %s\n", progname, strerror (errno));
sock_err_message ("connect");
return INVALID_SOCKET;
}