# HG changeset patch # User Mychaela Falconia # Date 1613151558 0 # Node ID 91bcf84a5323f4ca931987848621a86afdc694ad # Parent 8a4f3d00d9973abd8b919f500e112aef0d9b1496 -p reader selection implemented in fc-pcsc-atr diff -r 8a4f3d00d997 -r 91bcf84a5323 libcommon/Makefile --- a/libcommon/Makefile Fri Feb 12 17:28:05 2021 +0000 +++ b/libcommon/Makefile Fri Feb 12 17:39:18 2021 +0000 @@ -1,9 +1,9 @@ CC= gcc CFLAGS= -O2 -I/usr/include/PCSC OBJS= alpha_decode.o alpha_fromfile.o alpha_valid.o apdu.o atr.o \ - cardconnect.o chkblank.o dumpdirfunc.o exit.o gsm7_decode.o \ - gsm7_encode.o gsm7_encode_table.o hexdump.o hexread.o hexstr.o names.o \ - number_decode.o number_encode.o pinentry.o revnibbles.o + cardconnect.o chkblank.o dumpdirfunc.o exit.o globalopts.o \ + gsm7_decode.o gsm7_encode.o gsm7_encode_table.o hexdump.o hexread.o \ + hexstr.o names.o number_decode.o number_encode.o pinentry.o revnibbles.o LIB= libcommon.a all: ${LIB} diff -r 8a4f3d00d997 -r 91bcf84a5323 libcommon/globalopts.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libcommon/globalopts.c Fri Feb 12 17:39:18 2021 +0000 @@ -0,0 +1,29 @@ +/* + * This module implements parsing of global command line options. + */ + +#include +#include +#include + +extern unsigned select_reader_num; + +parse_global_options(argc, argv) + char **argv; +{ + extern char *optarg; + int c; + + while ((c = getopt(argc, argv, "+p:")) != EOF) { + switch (c) { + case 'p': + select_reader_num = atoi(optarg); + continue; + case '?': + default: + /* error msg already printed */ + exit(1); + } + } + return(0); +} diff -r 8a4f3d00d997 -r 91bcf84a5323 misc/fc-pcsc-atr.c --- a/misc/fc-pcsc-atr.c Fri Feb 12 17:28:05 2021 +0000 +++ b/misc/fc-pcsc-atr.c Fri Feb 12 17:39:18 2021 +0000 @@ -9,6 +9,7 @@ { int rc; + parse_global_options(argc, argv); setup_pcsc_context(); get_reader_list(); select_reader_by_num();