diff options
author | Andreas Schneider <mail@cynapses.org> | 2009-05-04 06:54:06 +0000 |
---|---|---|
committer | Andreas Schneider <mail@cynapses.org> | 2009-05-04 06:54:06 +0000 |
commit | 2688c1a1d5ba56bfed8ac37520ecf33e07513ce8 (patch) | |
tree | af520fde07c8434598290b8a04465d73c8017380 /libssh | |
parent | a08c56baf471ad3d318e80bcb1b1f3140537edca (diff) | |
download | libssh-2688c1a1d5ba56bfed8ac37520ecf33e07513ce8.tar.gz libssh-2688c1a1d5ba56bfed8ac37520ecf33e07513ce8.tar.xz libssh-2688c1a1d5ba56bfed8ac37520ecf33e07513ce8.zip |
Improve channel_request_pty_size().
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@693 7dcaeef0-15fb-0310-b436-a5af3365683c
Diffstat (limited to 'libssh')
-rw-r--r-- | libssh/channels.c | 47 |
1 files changed, 20 insertions, 27 deletions
diff --git a/libssh/channels.c b/libssh/channels.c index 889a5b7..1fb2aa6 100644 --- a/libssh/channels.c +++ b/libssh/channels.c @@ -1061,13 +1061,18 @@ error: return rc; } -/** \brief requests a pty with a specific type and size - * \param channel channel - * \param terminal terminal type ("vt100, xterm,...") - * \param col number of cols - * \param row number of rows - * \return SSH_SUCCESS on success\n - * SSH_ERROR on error +/** + * @brief Request a pty with a specific type and size. + * + * @param channel The channel to sent the request. + * + * @param terminal The terminal type ("vt100, xterm,..."). + * + * @param col The number of columns. + * + * @param row The number of rows. + * + * @return SSH_SUCCESS on success, SSH_ERROR on error. */ int channel_request_pty_size(CHANNEL *channel, const char *terminal, int col, int row) { @@ -1094,26 +1099,13 @@ int channel_request_pty_size(CHANNEL *channel, const char *terminal, goto error; } - if (buffer_add_ssh_string(buffer, term) < 0) { - goto error; - } - if (buffer_add_u32(buffer, htonl(col)) < 0) { - goto error; - } - if (buffer_add_u32(buffer, htonl(row)) < 0) { - goto error; - } - if (buffer_add_u32(buffer, 0) < 0) { - goto error; - } - if (buffer_add_u32(buffer, 0) < 0) { - goto error; - } - /* a 0byte string */ - if (buffer_add_u32(buffer, htonl(1)) < 0) { - goto error; - } - if (buffer_add_u8(buffer, 0) < 0) { + if (buffer_add_ssh_string(buffer, term) < 0 || + buffer_add_u32(buffer, htonl(col)) < 0 || + buffer_add_u32(buffer, htonl(row)) < 0 || + buffer_add_u32(buffer, 0) < 0 || + buffer_add_u32(buffer, 0) < 0 || + buffer_add_u32(buffer, htonl(1)) < 0 || /* Add a 0byte string */ + buffer_add_u8(buffer, 0) < 0) { goto error; } @@ -1121,6 +1113,7 @@ int channel_request_pty_size(CHANNEL *channel, const char *terminal, error: buffer_free(buffer); string_free(term); + leave_function(); return rc; } |