- 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)
|
||||
{
|
||||
int i;
|
||||
|
||||
assert(sc_card_valid(card));
|
||||
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]);
|
||||
}
|
||||
sc_free_apps(card);
|
||||
if (card->ef_dir != NULL)
|
||||
sc_file_free(card->ef_dir);
|
||||
free(card->ops);
|
||||
|
|
|
@ -225,6 +225,20 @@ int sc_enum_apps(struct sc_card *card)
|
|||
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 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_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_app_by_aid(struct sc_card *card,
|
||||
const u8 *aid, size_t aid_len);
|
||||
|
|
Loading…
Reference in New Issue