(sock_err_message): New function.
(set_tcp_socket): Use it.
This commit is contained in:
parent
a7d9e21f3c
commit
d22b00e516
2 changed files with 30 additions and 2 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue