summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAris Adamantiadis <aris@0xbadc0de.be>2014-09-01 08:33:58 +0200
committerAndreas Schneider <asn@cryptomilk.org>2014-09-07 10:27:35 +0200
commit2cb2587b55466fda621d3b21b1477cb28f4e4231 (patch)
tree2c38728f461d541fc339fca585911614c50c88dd /src
parent86294ad3ea506dd86503ad51cb03a33f6478f293 (diff)
downloadlibssh-2cb2587b55466fda621d3b21b1477cb28f4e4231.tar.gz
libssh-2cb2587b55466fda621d3b21b1477cb28f4e4231.tar.xz
libssh-2cb2587b55466fda621d3b21b1477cb28f4e4231.zip
buffer: Implement "t" for text in ssh_buffer_pack().
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'src')
-rw-r--r--src/buffer.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/buffer.c b/src/buffer.c
index beaa44bb..8b778479 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -723,6 +723,12 @@ int ssh_buffer_pack_va(struct ssh_buffer_struct *buffer, const char *format, va_
rc = buffer_add_ssh_string(buffer, o.string);
SAFE_FREE(o.string);
break;
+ case 't':
+ cstring = va_arg(ap, char *);
+ len = strlen(cstring);
+ rc = ssh_buffer_add_data(buffer, cstring, len);
+ cstring = NULL;
+ break;
default:
SSH_LOG(SSH_LOG_WARN, "Invalid buffer format %c", *p);
rc = SSH_ERROR;
@@ -753,9 +759,10 @@ int ssh_buffer_pack_va(struct ssh_buffer_struct *buffer, const char *format, va_
* 'q': uint64_t (pushed in network byte order)
* 'S': ssh_string
* 's': char * (C string, pushed as SSH string)
+ * 't': char * (C string, pushed as free text)
* 'P': size_t, void * (len of data, pointer to data)
* only pushes data.
- * 'S': bignum (pushed as SSH string)
+ * 'B': bignum (pushed as SSH string)
* @returns SSH_OK on success
* SSH_ERROR on error
* @warning when using 'P' with a constant size (e.g. 8), do not