diff options
Diffstat (limited to 'src/lib/libcrypto/bn/bn_print.c')
-rw-r--r-- | src/lib/libcrypto/bn/bn_print.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/lib/libcrypto/bn/bn_print.c b/src/lib/libcrypto/bn/bn_print.c index 810dde34e1..bebb466d08 100644 --- a/src/lib/libcrypto/bn/bn_print.c +++ b/src/lib/libcrypto/bn/bn_print.c | |||
@@ -294,6 +294,27 @@ err: | |||
294 | return(0); | 294 | return(0); |
295 | } | 295 | } |
296 | 296 | ||
297 | int BN_asc2bn(BIGNUM **bn, const char *a) | ||
298 | { | ||
299 | const char *p = a; | ||
300 | if (*p == '-') | ||
301 | p++; | ||
302 | |||
303 | if (p[0] == '0' && (p[1] == 'X' || p[1] == 'x')) | ||
304 | { | ||
305 | if (!BN_hex2bn(bn, p + 2)) | ||
306 | return 0; | ||
307 | } | ||
308 | else | ||
309 | { | ||
310 | if (!BN_dec2bn(bn, p)) | ||
311 | return 0; | ||
312 | } | ||
313 | if (*a == '-') | ||
314 | (*bn)->neg = 1; | ||
315 | return 1; | ||
316 | } | ||
317 | |||
297 | #ifndef OPENSSL_NO_BIO | 318 | #ifndef OPENSSL_NO_BIO |
298 | #ifndef OPENSSL_NO_FP_API | 319 | #ifndef OPENSSL_NO_FP_API |
299 | int BN_print_fp(FILE *fp, const BIGNUM *a) | 320 | int BN_print_fp(FILE *fp, const BIGNUM *a) |