diff options
| author | Werner Koch <[email protected]> | 2019-06-21 08:47:45 +0000 |
|---|---|---|
| committer | Werner Koch <[email protected]> | 2019-06-21 09:42:59 +0000 |
| commit | 91e2931caac9b914efa0a4524effaaa5948ebd00 (patch) | |
| tree | 87f0209484396fcbb26d1c1f65fff620b79be7d5 /scd/app.c | |
| parent | scd: Simplify inclusion of app-common.h. (diff) | |
| download | gnupg-91e2931caac9b914efa0a4524effaaa5948ebd00.tar.gz gnupg-91e2931caac9b914efa0a4524effaaa5948ebd00.zip | |
scd: Track the currently selected app.
* scd/scdaemon.h (struct server_control_s): Add 'current_apptype'.
* scd/command.c (scd_clear_current_app): New.
* scd/app.c (app_new_register): Set it.
(deallocate_card): Clear it.
--
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'scd/app.c')
| -rw-r--r-- | scd/app.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -519,9 +519,13 @@ app_new_register (int slot, ctrl_t ctrl, const char *name, } card->periodical_check_needed = periodical_check_needed; - card->next = card_top; card_top = card; + + /* If no current apptype is known for this session, set it now. */ + if (!ctrl->current_apptype) + ctrl->current_apptype = app->apptype; + unlock_card (card); return 0; } @@ -684,8 +688,9 @@ deallocate_card (card_t card) xfree (a); } - xfree (card->serialno); + scd_clear_current_app (card); + xfree (card->serialno); unlock_card (card); xfree (card); } |
