opensc-explorer: fix 'pin_info' command

Correctly treat 'data.pin1.logged_in' as tristate instead of boolean.
While at it, fix visual glitch to not wrap around a stand-alone period.
This commit is contained in:
Peter Marschall 2019-01-01 12:33:16 +01:00 committed by Frank Morgner
parent d577802ea7
commit a6ee84f13d
1 changed files with 13 additions and 5 deletions

View File

@ -1147,11 +1147,19 @@ static int do_pininfo(int argc, char **argv)
fprintf(stderr, "Unable to get PIN info: %s\n", sc_strerror(r));
return -1;
}
if (tries_left > 0)
printf("Logged %s, %d tries left.\n",
(data.pin1.logged_in) ? "in" : "out", tries_left);
else
printf("Logged %s\n.", (data.pin1.logged_in) ? "in" : "out");
switch (data.pin1.logged_in) {
case SC_PIN_STATE_LOGGED_IN:
printf("Logged in.\n");
break;
case SC_PIN_STATE_LOGGED_OUT:
printf("Logged out.\n");
break;
case SC_PIN_STATE_UNKNOWN:
default:
printf("Login status unkwown.\n");
}
if (tries_left >= 0)
printf("%d tries left.\n", tries_left);
return 0;
}