Fixed scan continuation line not being set for displayTerm being ste
[yaz-moved-to-github.git] / client / client.c
index 2619544..c158b00 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (C) 1995-2007, Index Data ApS
  * See the file LICENSE for details.
  *
  * Copyright (C) 1995-2007, Index Data ApS
  * See the file LICENSE for details.
  *
- * $Id: client.c,v 1.344 2007-06-03 14:59:34 adam Exp $
+ * $Id: client.c,v 1.350 2007-08-21 13:19:44 adam Exp $
  */
 /** \file client.c
  *  \brief yaz-client program
  */
 /** \file client.c
  *  \brief yaz-client program
@@ -171,9 +171,6 @@ static cql_transform_t cqltrans = 0; /* CQL context-set handle */
 int rl_attempted_completion_over = 0;
 #endif
 
 int rl_attempted_completion_over = 0;
 #endif
 
-/* set this one to 1, to avoid decode of unknown MARCs  */
-#define AVOID_MARC_DECODE 1
-
 #define maxOtherInfosSupported 10
 struct eoi {
     Odr_oid oid[OID_SIZE];
 #define maxOtherInfosSupported 10
 struct eoi {
     Odr_oid oid[OID_SIZE];
@@ -1918,6 +1915,20 @@ void process_ESResponse(Z_ExtendedServicesResponse *res)
                 }
             }
         }
                 }
             }
         }
+        if (ext->which == Z_External_itemOrder)
+        {
+            Z_IOTaskPackage *otp = ext->u.itemOrder->u.taskPackage;
+            if (otp && otp->targetPart && otp->targetPart->itemRequest)
+            {
+                Z_External *ext = otp->targetPart->itemRequest;
+                if (ext->which == Z_External_octet)
+                {
+                    Odr_oct *doc = ext->u.octet_aligned;
+                    printf("Got itemRequest doc %.*s\n",
+                           doc->len, doc->buf);
+                }
+            }
+        }
     }
     if (res->taskPackage && res->taskPackage->which == Z_External_octet)
     {
     }
     if (res->taskPackage && res->taskPackage->which == Z_External_octet)
     {
@@ -3021,13 +3032,13 @@ void display_term(Z_TermInfo *t)
     if (t->displayTerm)
         printf("%s", t->displayTerm);
     else if (t->term->which == Z_Term_general)
     if (t->displayTerm)
         printf("%s", t->displayTerm);
     else if (t->term->which == Z_Term_general)
-    {
         printf("%.*s", t->term->u.general->len, t->term->u.general->buf);
         printf("%.*s", t->term->u.general->len, t->term->u.general->buf);
-        sprintf(last_scan_line, "%.*s", t->term->u.general->len,
-            t->term->u.general->buf);
-    }
     else
         printf("Term (not general)");
     else
         printf("Term (not general)");
+    if (t->term->which == Z_Term_general)
+        sprintf(last_scan_line, "%.*s", t->term->u.general->len,
+            t->term->u.general->buf);
+
     if (t->globalOccurrences)
         printf (" (%d)\n", *t->globalOccurrences);
     else
     if (t->globalOccurrences)
         printf (" (%d)\n", *t->globalOccurrences);
     else
@@ -4886,9 +4897,28 @@ int main(int argc, char **argv)
                 exit(1);
             }
             break;
                 exit(1);
             }
             break;
+        case 'a':
+            if (!strcmp(arg, "-"))
+                apdu_file=stderr;
+            else
+                apdu_file=fopen(arg, "a");
+            break;
+        case 'b':
+            if (!strcmp(arg, "-"))
+                ber_file=stderr;
+            else
+                ber_file=fopen(arg, "a");
+            break;
+        case 'c':
+            strncpy (ccl_fields, arg, sizeof(ccl_fields)-1);
+            ccl_fields[sizeof(ccl_fields)-1] = '\0';
+            break;
         case 'd':
             dump_file_prefix = arg;
             break;
         case 'd':
             dump_file_prefix = arg;
             break;
+        case 'f':
+            rc_file = arg;
+            break;
         case 'k':
             kilobytes = atoi(arg);
             break;
         case 'k':
             kilobytes = atoi(arg);
             break;
@@ -4899,34 +4929,15 @@ int main(int argc, char **argv)
                 exit (1);
             }
             break;
                 exit (1);
             }
             break;
-        case 't':
-            outputCharset = xstrdup(arg);
-            break;
-        case 'c':
-            strncpy (ccl_fields, arg, sizeof(ccl_fields)-1);
-            ccl_fields[sizeof(ccl_fields)-1] = '\0';
+        case 'p':
+            yazProxy = xstrdup(arg);
             break;
         case 'q':
             strncpy (cql_fields, arg, sizeof(cql_fields)-1);
             cql_fields[sizeof(cql_fields)-1] = '\0';
             break;
             break;
         case 'q':
             strncpy (cql_fields, arg, sizeof(cql_fields)-1);
             cql_fields[sizeof(cql_fields)-1] = '\0';
             break;
-        case 'b':
-            if (!strcmp(arg, "-"))
-                ber_file=stderr;
-            else
-                ber_file=fopen(arg, "a");
-            break;
-        case 'a':
-            if (!strcmp(arg, "-"))
-                apdu_file=stderr;
-            else
-                apdu_file=fopen(arg, "a");
-            break;
-        case 'x':
-            hex_dump = 1;
-            break;
-        case 'p':
-            yazProxy = xstrdup(arg);
+        case 't':
+            outputCharset = xstrdup(arg);
             break;
         case 'u':
             if (!auth_command)
             break;
         case 'u':
             if (!auth_command)
@@ -4939,25 +4950,29 @@ int main(int argc, char **argv)
         case 'v':
             yaz_log_init(yaz_log_mask_str(arg), "", 0);
             break;
         case 'v':
             yaz_log_init(yaz_log_mask_str(arg), "", 0);
             break;
-        case 'f':
-            rc_file = arg;
-            break;
         case 'V':
             show_version();
             break;
         case 'V':
             show_version();
             break;
+        case 'x':
+            hex_dump = 1;
+            break;
         default:
             fprintf (stderr, "Usage: %s "
         default:
             fprintf (stderr, "Usage: %s "
-                     " [-a <apdulog>]"
+                     " [-a apdulog]"
                      " [-b berdump]"
                      " [-b berdump]"
-                     " [-d dump]\n"
-                     " [-c cclfields]"
+                     " [-c cclfile]"
+                     " [-d dump]"
+                     " [-f cmdfile]"
                      " [-k size]"
                      " [-k size]"
-                     " [-m <marclog>]\n" 
-                     " [-p <proxy-addr>]"
-                     " [-q cqlfields]"
-                     " [-u <auth>]"
+                     " [-m marclog]" 
+                     " [-p proxy-addr]"
+                     " [-q cqlfile]"
+                     " [-t dispcharset]"
+                     " [-u auth]"
+                     " [-v loglevel]"
                      " [-V]"
                      " [-V]"
-                     " [<server-addr>]\n",
+                     " [-x]"
+                     " [server-addr]\n",
                      prog);
             exit (1);
         }      
                      prog);
             exit (1);
         }