summaryrefslogtreecommitdiffstats
path: root/scd
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2009-01-05 20:56:52 +0100
committerWerner Koch <wk@gnupg.org>2009-01-05 20:56:52 +0100
commit511c7a89fca8bc9863df589ed700ff5d9543b47c (patch)
treeed3bda7e82690ac7469bdf2161145549465b0c0a /scd
parentUpdated tr anz zh_TW. (diff)
downloadgnupg2-511c7a89fca8bc9863df589ed700ff5d9543b47c.tar.xz
gnupg2-511c7a89fca8bc9863df589ed700ff5d9543b47c.zip
Fix card change detection.
Diffstat (limited to 'scd')
-rw-r--r--scd/ChangeLog4
-rw-r--r--scd/apdu.c5
2 files changed, 7 insertions, 2 deletions
diff --git a/scd/ChangeLog b/scd/ChangeLog
index eb898c185..c93a17a2b 100644
--- a/scd/ChangeLog
+++ b/scd/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-05 Werner Koch <wk@g10code.com>
+
+ * apdu.c (apdu_get_status): Save the last status.
+
2008-12-18 Werner Koch <wk@g10code.com>
* ccid-driver.c (abort_cmd): New.
diff --git a/scd/apdu.c b/scd/apdu.c
index e14f2b2ca..f92565d7d 100644
--- a/scd/apdu.c
+++ b/scd/apdu.c
@@ -2735,11 +2735,12 @@ apdu_get_status (int slot, int hang,
|| !reader_table[slot].any_status )
{
reader_table[slot].change_counter++;
- /* Make sure that the ATR is invalid so that a reset will be by
- activate. */
+ /* Make sure that the ATR is invalid so that a reset will be
+ triggered by activate. */
reader_table[slot].atrlen = 0;
}
reader_table[slot].any_status = 1;
+ reader_table[slot].last_status = s;
if (status)
*status = s;