Ticket #125: pkcs15-cleanup-func.patch

File pkcs15-cleanup-func.patch, 1.0 KB (added by harningt, 2 years ago)
  • src/libopensc/pkcs15.c

    === src/libopensc/pkcs15.c
    ==================================================================
     
    419419        if (p15card == NULL) 
    420420                return; 
    421421        assert(p15card->magic == SC_PKCS15_CARD_MAGIC); 
     422        if(p15card->clear) p15card->clear(p15card); 
    422423        while (p15card->obj_list) 
    423424                sc_pkcs15_remove_object(p15card, p15card->obj_list); 
    424425        while (p15card->df_list) 
     
    458459{ 
    459460        if (p15card == NULL) 
    460461                return; 
     462        if(p15card->clear) p15card->clear(p15card); 
    461463        p15card->version = 0; 
    462464        p15card->flags   = 0; 
    463465        while (p15card->obj_list != NULL) 
  • src/libopensc/pkcs15.h

    === src/libopensc/pkcs15.h
    ==================================================================
     
    392392 
    393393        void *dll_handle;               /* shared lib for emulated cards */ 
    394394        char *preferred_language; 
     395        void (*clear)(struct sc_pkcs15_card*); 
    395396} sc_pkcs15_card_t; 
    396397 
    397398#define SC_PKCS15_CARD_FLAG_READONLY            0x01