summaryrefslogtreecommitdiff
path: root/src/session.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/session.rs')
-rw-r--r--src/session.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/session.rs b/src/session.rs
index 71af745..10a0703 100644
--- a/src/session.rs
+++ b/src/session.rs
@@ -36,14 +36,14 @@ impl Session {
/// mode, compression, sigpipe, the banner, etc. To associate this session
/// with a TCP connection, use the `handshake` method to pass in an
/// already-established TCP socket.
- pub fn new() -> Option<Session> {
+ pub fn new() -> Result<Session, Error> {
::init();
unsafe {
let ret = raw::libssh2_session_init_ex(None, None, None, 0 as *mut _);
if ret.is_null() {
- None
+ Err(Error::unknown())
} else {
- Some(Binding::from_raw(ret))
+ Ok(Binding::from_raw(ret))
}
}
}