FreeCalypso > hg > fc-sim-tools
diff serial/main.c @ 43:be27d1c85861
serial: main function implemented
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 20 Mar 2021 21:49:59 +0000 |
parents | 6cc3eea720cb |
children | fbedb67d234f |
line wrap: on
line diff
--- a/serial/main.c Sat Mar 20 21:17:56 2021 +0000 +++ b/serial/main.c Sat Mar 20 21:49:59 2021 +0000 @@ -10,6 +10,8 @@ main(argc, argv) char **argv; { + char inbuf[576]; + u_char cmd[260]; int rc; if (argc != 3) { @@ -27,7 +29,19 @@ print_atr("A"); if (baud_spenh) spenh_logic(); + putchar('\n'); + fflush(stdout); - /* remaining logic to be implemented */ + for (; fgets(inbuf, sizeof inbuf, stdin); fflush(stdout)) { + rc = parse_hex_input(inbuf, cmd); + if (rc < 0) + continue; + if (rc < 5) { + printf("error: command APDU is too short\n"); + continue; + } + apdu_exchange(cmd, rc); + } + exit(0); }