diff options
author | Andreas Schneider <mail@cynapses.org> | 2009-04-14 14:02:37 +0000 |
---|---|---|
committer | Andreas Schneider <mail@cynapses.org> | 2009-04-14 14:02:37 +0000 |
commit | f2788c9866371fc2ff325f90504ce2be49fb16a9 (patch) | |
tree | 4652a5004f701d85b73fc984278b0629ae56cefa | |
parent | e29ef25cdd608a0e73639e3ec9e6800ab1e898f0 (diff) | |
download | libssh-f2788c9866371fc2ff325f90504ce2be49fb16a9.tar.gz libssh-f2788c9866371fc2ff325f90504ce2be49fb16a9.tar.xz libssh-f2788c9866371fc2ff325f90504ce2be49fb16a9.zip |
Reformat ssh_socket_completewrite() and use const for buffer.
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@465 7dcaeef0-15fb-0310-b436-a5af3365683c
-rw-r--r-- | include/libssh/priv.h | 2 | ||||
-rw-r--r-- | libssh/socket.c | 38 |
2 files changed, 21 insertions, 19 deletions
diff --git a/include/libssh/priv.h b/include/libssh/priv.h index 67e9bef..50b82f6 100644 --- a/include/libssh/priv.h +++ b/include/libssh/priv.h @@ -489,7 +489,7 @@ int ssh_socket_is_open(struct socket *s); int ssh_socket_fd_isset(struct socket *s, fd_set *set); void ssh_socket_fd_set(struct socket *s, fd_set *set, int *fd_max); int ssh_socket_completeread(struct socket *s, void *buffer, u32 len); -int ssh_socket_completewrite(struct socket *s, void *buffer, u32 len); +int ssh_socket_completewrite(struct socket *s, const void *buffer, u32 len); int ssh_socket_wait_for_data(struct socket *s, SSH_SESSION *session, u32 len); int ssh_socket_nonblocking_flush(struct socket *s); int ssh_socket_blocking_flush(struct socket *s); diff --git a/libssh/socket.c b/libssh/socket.c index ff5ef6d..d791714 100644 --- a/libssh/socket.c +++ b/libssh/socket.c @@ -301,27 +301,29 @@ int ssh_socket_completeread(struct socket *s, void *buffer, u32 len) { /** \internal * \brief Blocking write of len bytes */ +int ssh_socket_completewrite(struct socket *s, const void *buffer, u32 len) { + SSH_SESSION *session = s->session; + int written = -1; -int ssh_socket_completewrite(struct socket *s, void *buffer, u32 len){ - SSH_SESSION *session=s->session; - int written; + enter_function(); - enter_function(); - if(!ssh_socket_is_open(s)){ - leave_function(); - return SSH_ERROR; - } - while(len >0) { - written=ssh_socket_unbuffered_write(s,buffer,len); - if(written==0 || written==-1){ - leave_function(); - return SSH_ERROR; - } - len-=written; - buffer+=written; - } + if(! ssh_socket_is_open(s)) { leave_function(); - return SSH_OK; + return SSH_ERROR; + } + + while (len >0) { + written = ssh_socket_unbuffered_write(s, buffer, len); + if (written == 0 || written == -1) { + leave_function(); + return SSH_ERROR; + } + len -= written; + buffer += written; + } + + leave_function(); + return SSH_OK; } /** \internal |