Re: Problem with gplpcsc (PC/SC for Prolog)
"Ludovic Rousseau" <[email protected]>
| Newsgroups | gmane.comp.gnu.prolog.general |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Oct 2, 2008 at 10:35 AM, Daniel Diaz <[email protected]> wrote: > Hi Ludovic, > > I also saw the mail is no longer valid. I don't know PS/SC so I'm of little > help. However, from the Prolog part, if a solution is missing maybe you > should force a backtrack to obtain it. > Try to change your code as follows: > > :- initialization(start0). > > start0 :- > start, > fail. > start0 :- > write('no more solutions'), nl. > > NB: the initialization now calls start0 which calls start and force > backtracking with fail. When no more solution exists the second clause of > start0 is executed, which simply shows a message. > > Hope this helps In was not a bug in the PC/SC wrapper but a bug in my Prolog code. I did not wrote Prolog code since 10 or 15 years ago :-) I think Prolog was trying to unified the two Commande variable but they had two different values. My program is now working and is: :- include('pcsc/muscle'). start :- scard_establish_context, scard_connect, % print ATR data scard_status(_, Atr), print('ATR: '), print_hex_list(Atr), nl, % enable trace scard_enable_verbose(true), Commande = [0,0xA4,4,0,0x0A,0xA0,0,0,0,0x62,3,1,0x0C,6,1], scard_transmit(Commande, _ApduOut1, _Sw1, _Time1), print_hex_list(_ApduOut1), print_hex_list(_Sw1), nl, scard_transmit([0xA0,0x0,0,0,0], _ApduOut2, _Sw2, _Time2), print_hex_list(_ApduOut2), print_hex_list(_Sw2), nl. :- initialization(start). Thanks for your time -- Dr. Ludovic Rousseau