On Tue, May 13, 2014 at 06:02:39PM +0200, Markus Armbruster wrote: > libssh2_session_last_error() already returns the error code. > > Cc: "Richard W.M. Jones" <rjo...@redhat.com> > Signed-off-by: Markus Armbruster <arm...@redhat.com> > --- > block/ssh.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/block/ssh.c b/block/ssh.c > index aa63c9d..e38d232 100644 > --- a/block/ssh.c > +++ b/block/ssh.c > @@ -121,10 +121,9 @@ session_error_report(BDRVSSHState *s, const char *fs, > ...) > char *ssh_err; > int ssh_err_code; > > - libssh2_session_last_error((s)->session, &ssh_err, NULL, 0); > /* This is not an errno. See <libssh2.h>. */ > - ssh_err_code = libssh2_session_last_errno((s)->session); > - > + ssh_err_code = libssh2_session_last_error(s->session, > + &ssh_err, NULL, 0); > error_printf(": %s (libssh2 error code: %d)", ssh_err, ssh_err_code); > } > > @@ -145,9 +144,9 @@ sftp_error_report(BDRVSSHState *s, const char *fs, ...) > int ssh_err_code; > unsigned long sftp_err_code; > > - libssh2_session_last_error((s)->session, &ssh_err, NULL, 0); > /* This is not an errno. See <libssh2.h>. */ > - ssh_err_code = libssh2_session_last_errno((s)->session); > + ssh_err_code = libssh2_session_last_error(s->session, > + &ssh_err, NULL, 0); > /* See <libssh2_sftp.h>. */ > sftp_err_code = libssh2_sftp_last_error((s)->sftp);
Yes, I'm not quite sure what was happening here. I checked the source of libssh2 and as you say, libssh2_session_last_error returns the error code, so there is no need to call libssh2_session_last_errno as well. Therefore, ACK. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://people.redhat.com/~rjones/virt-top