diff options
Diffstat (limited to 'src/lib/libcrypto/buffer/buffer.c')
-rw-r--r-- | src/lib/libcrypto/buffer/buffer.c | 89 |
1 files changed, 4 insertions, 85 deletions
diff --git a/src/lib/libcrypto/buffer/buffer.c b/src/lib/libcrypto/buffer/buffer.c index 620ea8d536..b3e947771d 100644 --- a/src/lib/libcrypto/buffer/buffer.c +++ b/src/lib/libcrypto/buffer/buffer.c | |||
@@ -89,10 +89,10 @@ void BUF_MEM_free(BUF_MEM *a) | |||
89 | OPENSSL_free(a); | 89 | OPENSSL_free(a); |
90 | } | 90 | } |
91 | 91 | ||
92 | int BUF_MEM_grow(BUF_MEM *str, size_t len) | 92 | int BUF_MEM_grow(BUF_MEM *str, int len) |
93 | { | 93 | { |
94 | char *ret; | 94 | char *ret; |
95 | size_t n; | 95 | unsigned int n; |
96 | 96 | ||
97 | if (str->length >= len) | 97 | if (str->length >= len) |
98 | { | 98 | { |
@@ -125,10 +125,10 @@ int BUF_MEM_grow(BUF_MEM *str, size_t len) | |||
125 | return(len); | 125 | return(len); |
126 | } | 126 | } |
127 | 127 | ||
128 | int BUF_MEM_grow_clean(BUF_MEM *str, size_t len) | 128 | int BUF_MEM_grow_clean(BUF_MEM *str, int len) |
129 | { | 129 | { |
130 | char *ret; | 130 | char *ret; |
131 | size_t n; | 131 | unsigned int n; |
132 | 132 | ||
133 | if (str->length >= len) | 133 | if (str->length >= len) |
134 | { | 134 | { |
@@ -161,84 +161,3 @@ int BUF_MEM_grow_clean(BUF_MEM *str, size_t len) | |||
161 | } | 161 | } |
162 | return(len); | 162 | return(len); |
163 | } | 163 | } |
164 | |||
165 | char *BUF_strdup(const char *str) | ||
166 | { | ||
167 | if (str == NULL) return(NULL); | ||
168 | return BUF_strndup(str, strlen(str)); | ||
169 | } | ||
170 | |||
171 | char *BUF_strndup(const char *str, size_t siz) | ||
172 | { | ||
173 | char *ret; | ||
174 | |||
175 | if (str == NULL) return(NULL); | ||
176 | |||
177 | ret=OPENSSL_malloc(siz+1); | ||
178 | if (ret == NULL) | ||
179 | { | ||
180 | BUFerr(BUF_F_BUF_STRNDUP,ERR_R_MALLOC_FAILURE); | ||
181 | return(NULL); | ||
182 | } | ||
183 | BUF_strlcpy(ret,str,siz+1); | ||
184 | return(ret); | ||
185 | } | ||
186 | |||
187 | void *BUF_memdup(const void *data, size_t siz) | ||
188 | { | ||
189 | void *ret; | ||
190 | |||
191 | if (data == NULL) return(NULL); | ||
192 | |||
193 | ret=OPENSSL_malloc(siz); | ||
194 | if (ret == NULL) | ||
195 | { | ||
196 | BUFerr(BUF_F_BUF_MEMDUP,ERR_R_MALLOC_FAILURE); | ||
197 | return(NULL); | ||
198 | } | ||
199 | return memcpy(ret, data, siz); | ||
200 | } | ||
201 | |||
202 | size_t BUF_strlcpy(char *dst, const char *src, size_t size) | ||
203 | { | ||
204 | size_t l = 0; | ||
205 | for(; size > 1 && *src; size--) | ||
206 | { | ||
207 | *dst++ = *src++; | ||
208 | l++; | ||
209 | } | ||
210 | if (size) | ||
211 | *dst = '\0'; | ||
212 | return l + strlen(src); | ||
213 | } | ||
214 | |||
215 | size_t BUF_strlcat(char *dst, const char *src, size_t size) | ||
216 | { | ||
217 | size_t l = 0; | ||
218 | for(; size > 0 && *dst; size--, dst++) | ||
219 | l++; | ||
220 | return l + BUF_strlcpy(dst, src, size); | ||
221 | } | ||
222 | |||
223 | void BUF_reverse(unsigned char *out, unsigned char *in, size_t size) | ||
224 | { | ||
225 | size_t i; | ||
226 | if (in) | ||
227 | { | ||
228 | out += size - 1; | ||
229 | for (i = 0; i < size; i++) | ||
230 | *in++ = *out--; | ||
231 | } | ||
232 | else | ||
233 | { | ||
234 | unsigned char *q; | ||
235 | char c; | ||
236 | q = out + size - 1; | ||
237 | for (i = 0; i < size/2; i++) | ||
238 | { | ||
239 | c = *q; | ||
240 | *q-- = *out; | ||
241 | *out++ = c; | ||
242 | } | ||
243 | } | ||
244 | } | ||