From be65c3804eb16d35a73fc8b65cc31fc22bfb9b38 Mon Sep 17 00:00:00 2001 From: sth Date: Fri, 15 Jul 2005 13:32:14 +0000 Subject: [PATCH] Cast correctly git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2408 c6295689-39f2-0310-b995-f0e70906c6a9 --- src/pkcs15init/pkcs15-lib.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/pkcs15init/pkcs15-lib.c b/src/pkcs15init/pkcs15-lib.c index 0d88e616..6d672f20 100644 --- a/src/pkcs15init/pkcs15-lib.c +++ b/src/pkcs15init/pkcs15-lib.c @@ -2261,8 +2261,24 @@ sc_pkcs15init_remove_object(sc_pkcs15_card_t *p15card, struct sc_pkcs15_df *df; sc_path_t path; int r = 0; - - path = ((struct sc_pkcs15_pubkey_info *)obj->data)->path; + + switch(obj->type) + { + case SC_PKCS15_TYPE_PUBKEY: + path = ((sc_pkcs15_pubkey_info_t *)obj->data)->path; + break; + case SC_PKCS15_TYPE_PRKEY: + path = ((sc_pkcs15_prkey_info_t *)obj->data)->path; + break; + case SC_PKCS15_TYPE_CERT: + path = ((sc_pkcs15_cert_info_t *)obj->data)->path; + break; + case SC_PKCS15_TYPE_DATA_OBJECT: + path = ((sc_pkcs15_data_info_t *)obj->data)->path; + break; + default: + return SC_ERROR_OBJECT_NOT_FOUND; + } /* Get the DF we're part of. If there's no DF, fine, we haven't * been added yet. */