Fix card change detection.
authorWerner Koch <wk@gnupg.org>
Mon, 5 Jan 2009 19:56:52 +0000 (19:56 +0000)
committerWerner Koch <wk@gnupg.org>
Mon, 5 Jan 2009 19:56:52 +0000 (19:56 +0000)
scd/ChangeLog
scd/apdu.c

index eb898c1..c93a17a 100644 (file)
@@ -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. 
index e14f2b2..f92565d 100644 (file)
@@ -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;