From: Nikos Mavrogiannopoulos Date: Fri, 3 Jun 2016 12:41:25 +0000 (+0200) Subject: gnutls_pkcs11_obj_list_import_url3: rewritten to use gnutls_pkcs11_obj_list_import_url4 X-Git-Tag: gnutls_3_5_1~50 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c097da9d2d8d3bbb1400201164d2fffc613beaee;p=thirdparty%2Fgnutls.git gnutls_pkcs11_obj_list_import_url3: rewritten to use gnutls_pkcs11_obj_list_import_url4 --- diff --git a/lib/pkcs11.c b/lib/pkcs11.c index 315a2ac490..3ac2bbcc75 100644 --- a/lib/pkcs11.c +++ b/lib/pkcs11.c @@ -2990,54 +2990,27 @@ gnutls_pkcs11_obj_list_import_url3(gnutls_pkcs11_obj_t * p_list, const char *url, unsigned int flags) { + gnutls_pkcs11_obj_t *list1; + unsigned int n_list1, i; int ret; - struct find_obj_data_st priv; - unsigned i; - - PKCS11_CHECK_INIT; - - memset(&priv, 0, sizeof(priv)); - - /* fill in the find data structure */ - priv.flags = flags; - if (url == NULL || url[0] == 0) { - url = "pkcs11:"; - } - - ret = pkcs11_url_to_info(url, &priv.info, flags); - if (ret < 0) { - gnutls_assert(); - return ret; - } - - ret = - _pkcs11_traverse_tokens(find_objs_cb, &priv, priv.info, - NULL, pkcs11_obj_flags_to_int(flags)); - p11_kit_uri_free(priv.info); - - if (ret < 0) { - gnutls_assert(); - if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) { - *n_list = 0; - ret = 0; - } - return ret; - } + ret = gnutls_pkcs11_obj_list_import_url4(&list1, &n_list1, url, flags); + if (ret < 0) + return gnutls_assert_val(ret); - if (priv.current > *n_list) { - *n_list = priv.current; - for (i=0;i *n_list) { + *n_list = n_list1; + for (i=0;i