X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=client%2Fclient.c;h=5623f464387fbd8849928fbc7fc667907076df4a;hp=c979041d83f0a881e3f9dcecc662188626a7c0e3;hb=5e81facdf5baf68e33e3370bbc3aa6226dac5bc2;hpb=c74f92579fac45600836ca695a973fd11c1a20db diff --git a/client/client.c b/client/client.c index c979041..5623f46 100644 --- a/client/client.c +++ b/client/client.c @@ -4,7 +4,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: client.c,v $ - * Revision 1.84 1999-06-01 14:29:11 adam + * Revision 1.85 1999-06-16 11:55:24 adam + * Added APDU log to client. + * + * Revision 1.84 1999/06/01 14:29:11 adam * Work on Extended Services. * * Revision 1.83 1999/05/26 15:24:26 adam @@ -284,7 +287,6 @@ #include -#include #include #ifdef USE_XTIMOSI #include @@ -310,6 +312,7 @@ #define C_PROMPT "Z> " static ODR out, in, print; /* encoding and decoding streams */ +static FILE *apdu_file = 0; static COMSTACK conn = 0; /* our z-association */ static Z_IdAuthentication *auth = 0; /* our current auth definition */ static char *databaseNames[128]; @@ -353,6 +356,11 @@ static void send_apdu(Z_APDU *a) odr_perror(out, "Encoding APDU"); exit(1); } + if (apdu_file) + { + z_APDU(print, &a, 0, 0); + odr_reset(print); + } buf = odr_getbuf(out, &len, 0); if (cs_put(conn, buf, len) < 0) { @@ -1909,6 +1917,8 @@ static void initialize(void) exit(1); } setvbuf(stdout, 0, _IONBF, 0); + if (apdu_file) + odr_setprint(print, apdu_file); #if CCL2RPN bibset = ccl_qual_mk (); @@ -2061,14 +2071,12 @@ static int client(int wait) fprintf(stderr, "---------\n"); exit(1); } -#if 0 - if (!z_APDU(print, &apdu, 0)) + if (apdu_file && !z_APDU(print, &apdu, 0, 0)) { odr_perror(print, "Failed to print incoming APDU"); odr_reset(print); continue; } -#endif switch(apdu->which) { case Z_APDU_initResponse: @@ -2130,7 +2138,7 @@ int main(int argc, char **argv) int ret; int opened = 0; - while ((ret = options("m:v:", argv, argc, &arg)) != -2) + while ((ret = options("a:m:v:", argv, argc, &arg)) != -2) { switch (ret) { @@ -2149,11 +2157,18 @@ int main(int argc, char **argv) exit (1); } break; + case 'a': + if (!strcmp(arg, "-")) + apdu_file=stderr; + else + apdu_file=fopen(arg, "a"); + break; case 'v': log_init (log_mask_str(arg), "", NULL); break; default: - fprintf (stderr, "Usage: %s [-m ] []\n", + fprintf (stderr, "Usage: %s [-m ] [ -m ] " + "[]\n", prog); exit (1); }