X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fbn%2Fbn_print.c;h=1451d966f78f04bdc71ef56ad9de98a69df97542;hp=055d048856cd3801e50d562e15b883d69676732a;hb=54d853ebc380d06502bbb517a7ce116af52c123c;hpb=ff22e913a3fbeb025e612828859102aa1a3effaa diff --git a/crypto/bn/bn_print.c b/crypto/bn/bn_print.c index 055d048856..1451d966f7 100644 --- a/crypto/bn/bn_print.c +++ b/crypto/bn/bn_print.c @@ -294,6 +294,27 @@ err: return(0); } +int BN_asc2bn(BIGNUM **bn, const char *a) + { + const char *p = a; + if (*p == '-') + p++; + + if (p[0] == '0' && (p[1] == 'X' || p[1] == 'x')) + { + if (!BN_hex2bn(bn, p + 2)) + return 0; + } + else + { + if (!BN_dec2bn(bn, p)) + return 0; + } + if (*a == '-') + (*bn)->neg = 1; + return 1; + } + #ifndef OPENSSL_NO_BIO #ifndef OPENSSL_NO_FP_API int BN_print_fp(FILE *fp, const BIGNUM *a)