[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 3/3] libssh: libhpp: overload read function to support timeout parameter
[Thread Prev] | [Thread Next]
- Subject: Re: [PATCH 3/3] libssh: libhpp: overload read function to support timeout parameter
- From: Aris Adamantiadis <aris@xxxxxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Thu, 20 Mar 2014 15:15:33 +0100
- To: libssh@xxxxxxxxxx
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.koretic@xxxxxxxxxx>
> ---
> 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 */
>
| Re: [PATCH 3/3] libssh: libhpp: overload read function to support timeout parameter | Petar Koretic <petar.koretic@xxxxxxxxxx> |
| [PATCH 3/3] libssh: libhpp: overload read function to support timeout parameter | Petar Koretic <petar.koretic@xxxxxxxxxx> |