diff options
author | James Housley <jim@thehousleys.net> | 2007-08-03 13:57:37 +0000 |
---|---|---|
committer | James Housley <jim@thehousleys.net> | 2007-08-03 13:57:37 +0000 |
commit | e7a50e37d68f399b3b27edf04a34aa8690eda403 (patch) | |
tree | d192145e94039f43e580628e105e8a2e8e5e09ba /lib | |
parent | 9fa05db83b104509bdbce7baa3fd46fba4b5e850 (diff) |
Start adding some expanded error conversion of libssh2 errors.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ssh.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -174,14 +174,15 @@ static CURLcode sftp_libssh2_error_to_CURLE(unsigned long err) not return or even depend on libssh2 errors in the public libcurl API */ if (err == LIBSSH2_FX_NO_SUCH_FILE) - return CURLE_REMOTE_FILE_NOT_FOUND; + return CURLE_REMOTE_FILE_NOT_FOUND; return CURLE_SSH; } static CURLcode libssh2_session_error_to_CURLE(int err) { - (void)err; + if (err == LIBSSH2_ERROR_ALLOC) + return CURLE_OUT_OF_MEMORY; return CURLE_SSH; } @@ -350,12 +351,12 @@ static CURLcode ssh_statemach_act(struct connectdata *conn) strlen(sftp_scp->user)); if (!sshc->authlist) { - if (libssh2_session_last_errno(sftp_scp->ssh_session) == + if ((err = libssh2_session_last_errno(sftp_scp->ssh_session)) == LIBSSH2_ERROR_EAGAIN) { break; } else { state(conn, SSH_SESSION_FREE); - sshc->actualCode = CURLE_OUT_OF_MEMORY; + sshc->actualCode = libssh2_session_error_to_CURLE(err); break; } } |