[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> | 

