- added sc_free_apps to undo sc_enum_apps
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1122 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
parent
e85ebc6a9d
commit
b68cb1e0b3
|
@ -301,16 +301,8 @@ static struct sc_card * sc_card_new()
|
||||||
|
|
||||||
static void sc_card_free(struct sc_card *card)
|
static void sc_card_free(struct sc_card *card)
|
||||||
{
|
{
|
||||||
int i;
|
|
||||||
|
|
||||||
assert(sc_card_valid(card));
|
assert(sc_card_valid(card));
|
||||||
for (i = 0; i < card->app_count; i++) {
|
sc_free_apps(card);
|
||||||
if (card->app[i]->label)
|
|
||||||
free(card->app[i]->label);
|
|
||||||
if (card->app[i]->ddo)
|
|
||||||
free(card->app[i]->ddo);
|
|
||||||
free(card->app[i]);
|
|
||||||
}
|
|
||||||
if (card->ef_dir != NULL)
|
if (card->ef_dir != NULL)
|
||||||
sc_file_free(card->ef_dir);
|
sc_file_free(card->ef_dir);
|
||||||
free(card->ops);
|
free(card->ops);
|
||||||
|
|
|
@ -225,6 +225,20 @@ int sc_enum_apps(struct sc_card *card)
|
||||||
return card->app_count;
|
return card->app_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sc_free_apps(struct sc_card *card)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < card->app_count; i++) {
|
||||||
|
if (card->app[i]->label)
|
||||||
|
free(card->app[i]->label);
|
||||||
|
if (card->app[i]->ddo)
|
||||||
|
free(card->app[i]->ddo);
|
||||||
|
free(card->app[i]);
|
||||||
|
}
|
||||||
|
card->app_count = -1;
|
||||||
|
}
|
||||||
|
|
||||||
const struct sc_app_info * sc_find_app_by_aid(struct sc_card *card,
|
const struct sc_app_info * sc_find_app_by_aid(struct sc_card *card,
|
||||||
const u8 *aid, size_t aid_len)
|
const u8 *aid, size_t aid_len)
|
||||||
{
|
{
|
||||||
|
|
|
@ -789,6 +789,7 @@ int sc_get_cache_dir(struct sc_context *ctx, char *buf, size_t bufsize);
|
||||||
int sc_make_cache_dir(struct sc_context *ctx);
|
int sc_make_cache_dir(struct sc_context *ctx);
|
||||||
|
|
||||||
int sc_enum_apps(struct sc_card *card);
|
int sc_enum_apps(struct sc_card *card);
|
||||||
|
void sc_free_apps(struct sc_card *card);
|
||||||
const struct sc_app_info * sc_find_pkcs15_app(struct sc_card *card);
|
const struct sc_app_info * sc_find_pkcs15_app(struct sc_card *card);
|
||||||
const struct sc_app_info * sc_find_app_by_aid(struct sc_card *card,
|
const struct sc_app_info * sc_find_app_by_aid(struct sc_card *card,
|
||||||
const u8 *aid, size_t aid_len);
|
const u8 *aid, size_t aid_len);
|
||||||
|
|
Loading…
Reference in New Issue