Hi Petar, I'm no C++ guru, but I don't understand why you are duplicating the read() prototype in multiple versions ? Is it because it is not acceptable to have two arguments with default values ?
I also wonder how int read(void *dest, size_t count, bool is_stderr) and int read(void *dest, size_t count, int timeout) can coexist, do they have different signatures ? Thanks, Aris Le 20/03/14 10:59, Petar Koretic a écrit : > Signed-off-by: Petar Koretic <petar.kore...@sartura.hr> > --- > include/libssh/libsshpp.hpp | 20 +++++++++++++++++++- > 1 file changed, 19 insertions(+), 1 deletion(-) > > diff --git a/include/libssh/libsshpp.hpp b/include/libssh/libsshpp.hpp > index 0cf945b..48c5156 100644 > --- a/include/libssh/libsshpp.hpp > +++ b/include/libssh/libsshpp.hpp > @@ -480,7 +480,7 @@ public: > ssh_throw(err); > return err; > } > - int read(void *dest, size_t count, bool is_stderr=false){ > + int read(void *dest, size_t count, bool is_stderr){ > int err; > /* handle int overflow */ > if(count > 0x7fffffff) > @@ -489,6 +489,24 @@ public: > ssh_throw(err); > return err; > } > + int read(void *dest, size_t count, int timeout){ > + int err; > + /* handle int overflow */ > + if(count > 0x7fffffff) > + count = 0x7fffffff; > + err=ssh_channel_read_timeout(channel,dest,count,false,timeout); > + ssh_throw(err); > + return err; > + } > + int read(void *dest, size_t count, bool is_stderr=false, int timeout=-1){ > + int err; > + /* handle int overflow */ > + if(count > 0x7fffffff) > + count = 0x7fffffff; > + err=ssh_channel_read_timeout(channel,dest,count,is_stderr,timeout); > + ssh_throw(err); > + return err; > + } > int readNonblocking(void *dest, size_t count, bool is_stderr=false){ > int err; > /* handle int overflow */ >