diff options
Diffstat (limited to 'bufaux.c')
-rw-r--r-- | bufaux.c | 24 |
1 files changed, 20 insertions, 4 deletions
@@ -37,7 +37,7 @@ | |||
37 | */ | 37 | */ |
38 | 38 | ||
39 | #include "includes.h" | 39 | #include "includes.h" |
40 | RCSID("$OpenBSD: bufaux.c,v 1.24 2002/03/26 15:23:40 markus Exp $"); | 40 | RCSID("$OpenBSD: bufaux.c,v 1.25 2002/04/20 09:14:58 markus Exp $"); |
41 | 41 | ||
42 | #include <openssl/bn.h> | 42 | #include <openssl/bn.h> |
43 | #include "bufaux.h" | 43 | #include "bufaux.h" |
@@ -137,10 +137,18 @@ buffer_get_bignum2(Buffer *buffer, BIGNUM *value) | |||
137 | BN_bin2bn(bin, len, value); | 137 | BN_bin2bn(bin, len, value); |
138 | xfree(bin); | 138 | xfree(bin); |
139 | } | 139 | } |
140 | |||
141 | /* | 140 | /* |
142 | * Returns an integer from the buffer (4 bytes, msb first). | 141 | * Returns integers from the buffer (msb first). |
143 | */ | 142 | */ |
143 | |||
144 | u_short | ||
145 | buffer_get_short(Buffer *buffer) | ||
146 | { | ||
147 | u_char buf[2]; | ||
148 | buffer_get(buffer, (char *) buf, 2); | ||
149 | return GET_16BIT(buf); | ||
150 | } | ||
151 | |||
144 | u_int | 152 | u_int |
145 | buffer_get_int(Buffer *buffer) | 153 | buffer_get_int(Buffer *buffer) |
146 | { | 154 | { |
@@ -160,9 +168,17 @@ buffer_get_int64(Buffer *buffer) | |||
160 | #endif | 168 | #endif |
161 | 169 | ||
162 | /* | 170 | /* |
163 | * Stores an integer in the buffer in 4 bytes, msb first. | 171 | * Stores integers in the buffer, msb first. |
164 | */ | 172 | */ |
165 | void | 173 | void |
174 | buffer_put_short(Buffer *buffer, u_short value) | ||
175 | { | ||
176 | char buf[2]; | ||
177 | PUT_16BIT(buf, value); | ||
178 | buffer_append(buffer, buf, 2); | ||
179 | } | ||
180 | |||
181 | void | ||
166 | buffer_put_int(Buffer *buffer, u_int value) | 182 | buffer_put_int(Buffer *buffer, u_int value) |
167 | { | 183 | { |
168 | char buf[4]; | 184 | char buf[4]; |