-int OSSL_PARAM_construct_from_text(OSSL_PARAM *to,
- const OSSL_PARAM *paramdefs,
- const char *key, const char *value,
- size_t value_n,
- void *buf, size_t *buf_n)
-{
- const OSSL_PARAM *paramdef = NULL;
- int ishex = 0;
- BIGNUM *tmpbn = NULL;
- int ok = 0;
-
- if (to == NULL || paramdefs == NULL)
- return 0;
-
- if (!prepare_from_text(paramdefs, key, value, value_n,
- ¶mdef, &ishex, buf_n, &tmpbn))
- return 0;
-
- /*
- * The user gets the expected buffer size back even if the buffer isn't
- * allocated.
- */
- if (buf == NULL)
- return 1;
-
- ok = construct_from_text(to, paramdef, value, value_n, ishex,
- buf, *buf_n, tmpbn);
- BN_free(tmpbn);
- return ok;
-}
-