diff options
author | djm <djm> | 2002-04-23 10:42:36 +0000 |
---|---|---|
committer | djm <djm> | 2002-04-23 10:42:36 +0000 |
commit | fba481a005e5bbda8b5c13a071218a04d9328697 (patch) | |
tree | 0e1681996b016cd6f32762c0643a76fe2f9db925 /bufaux.c | |
parent | 903fea437f03e207653b30a5202a3c4e9cdbf8d1 (diff) | |
download | openssh-fba481a005e5bbda8b5c13a071218a04d9328697.tar.gz |
- markus@cvs.openbsd.org 2002/04/20 09:14:58
[bufaux.c bufaux.h]
add buffer_{get,put}_short
Diffstat (limited to 'bufaux.c')
-rw-r--r-- | bufaux.c | 24 |
1 files changed, 20 insertions, 4 deletions
@@ -37,7 +37,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: bufaux.c,v 1.24 2002/03/26 15:23:40 markus Exp $"); +RCSID("$OpenBSD: bufaux.c,v 1.25 2002/04/20 09:14:58 markus Exp $"); #include <openssl/bn.h> #include "bufaux.h" @@ -137,10 +137,18 @@ buffer_get_bignum2(Buffer *buffer, BIGNUM *value) BN_bin2bn(bin, len, value); xfree(bin); } - /* - * Returns an integer from the buffer (4 bytes, msb first). + * Returns integers from the buffer (msb first). */ + +u_short +buffer_get_short(Buffer *buffer) +{ + u_char buf[2]; + buffer_get(buffer, (char *) buf, 2); + return GET_16BIT(buf); +} + u_int buffer_get_int(Buffer *buffer) { @@ -160,9 +168,17 @@ buffer_get_int64(Buffer *buffer) #endif /* - * Stores an integer in the buffer in 4 bytes, msb first. + * Stores integers in the buffer, msb first. */ void +buffer_put_short(Buffer *buffer, u_short value) +{ + char buf[2]; + PUT_16BIT(buf, value); + buffer_append(buffer, buf, 2); +} + +void buffer_put_int(Buffer *buffer, u_int value) { char buf[4]; |