diff options
author | Andreas Schneider <mail@cynapses.org> | 2009-04-16 14:15:41 +0000 |
---|---|---|
committer | Andreas Schneider <mail@cynapses.org> | 2009-04-16 14:15:41 +0000 |
commit | 74a06555f6d38b92ede5e038ebd0f52b41eac661 (patch) | |
tree | c5b96a1f91cdb9f935757bf3c2b2263c1279d4e4 /libssh | |
parent | 94021dcdb5bfb3d06104dafaad60c86176bd9631 (diff) | |
download | libssh-74a06555f6d38b92ede5e038ebd0f52b41eac661.tar.gz libssh-74a06555f6d38b92ede5e038ebd0f52b41eac661.tar.xz libssh-74a06555f6d38b92ede5e038ebd0f52b41eac661.zip |
Add a return value to ssh_socket_init().
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@494 7dcaeef0-15fb-0310-b436-a5af3365683c
Diffstat (limited to 'libssh')
-rw-r--r-- | libssh/client.c | 5 | ||||
-rw-r--r-- | libssh/server.c | 4 | ||||
-rw-r--r-- | libssh/socket.c | 8 |
3 files changed, 12 insertions, 5 deletions
diff --git a/libssh/client.c b/libssh/client.c index 15e67da9..cfcaf96c 100644 --- a/libssh/client.c +++ b/libssh/client.c @@ -453,7 +453,10 @@ int ssh_connect(SSH_SESSION *session) { leave_function(); return SSH_ERROR; } - ssh_socket_init(); + if (ssh_socket_init() < 0) { + leave_function(); + return SSH_ERROR; + } if (options->fd == -1 && options->host == NULL) { ssh_set_error(session, SSH_FATAL, "Hostname required"); diff --git a/libssh/server.c b/libssh/server.c index 358b13e7..a3ead63b 100644 --- a/libssh/server.c +++ b/libssh/server.c @@ -105,7 +105,9 @@ int ssh_bind_listen(SSH_BIND *ssh_bind){ int fd; if(!ssh_bind->options) return -1; - ssh_socket_init(); + if (ssh_socket_init() < 0) { + return -1; + } host=ssh_bind->options->bindaddr; if(!host) host="0.0.0.0"; diff --git a/libssh/socket.c b/libssh/socket.c index d8da5771..db931454 100644 --- a/libssh/socket.c +++ b/libssh/socket.c @@ -75,14 +75,16 @@ struct socket { * \internal * \brief inits the socket system (windows specific) */ -void ssh_socket_init(void) { +int ssh_socket_init(void) { #ifdef _WIN32 struct WSAData wsaData; - if (WSAStartup(MAKEWORD(2, 0), &wsaData)) { - /* FIXME print error */ + /* Initiates use of the Winsock DLL by a process. */ + if (WSAStartup(MAKEWORD(2, 0), &wsaData) != 0) { + return -1; } #endif + return 0; } /* * \internal |