pem_ctx
struct pem_ctx *pem_ctx = (struct pem_ctx*)ctx;
ret = (*formats[j].func)(context, NULL, pem_ctx->c,
if (ret && (pem_ctx->flags & HX509_CERTS_UNPROTECT_ALL)) {
struct pem_ctx pem_ctx;
pem_ctx.flags = flags;
pem_ctx.c = NULL;
ret = _hx509_collector_alloc(context, lock, &pem_ctx.c);
ret = hx509_pem_read(context, f, pem_func, &pem_ctx);
ret = (*formats[i].func)(context, p, pem_ctx.c, NULL, ptr, length, ai);
ret = _hx509_collector_collect_certs(context, pem_ctx.c, &ksf->certs);
ret = _hx509_collector_collect_private_keys(context, pem_ctx.c, &keys);
if (pem_ctx.c)
_hx509_collector_free(pem_ctx.c);