*** empty log message ***
[yaz-moved-to-github.git] / client / client.c
index 612da41..70455bb 100644 (file)
@@ -4,7 +4,19 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: client.c,v $
- * Revision 1.9  1995-06-06 08:15:19  quinn
+ * Revision 1.13  1995-06-16 10:29:11  quinn
+ * *** empty log message ***
+ *
+ * Revision 1.12  1995/06/15  07:44:57  quinn
+ * Moving to v3.
+ *
+ * Revision 1.11  1995/06/14  15:26:40  quinn
+ * *** empty log message ***
+ *
+ * Revision 1.10  1995/06/06  14:56:58  quinn
+ * Better diagnostics.
+ *
+ * Revision 1.9  1995/06/06  08:15:19  quinn
  * Cosmetic.
  *
  * Revision 1.8  1995/06/05  10:52:22  quinn
@@ -54,7 +66,6 @@
 #endif
 
 #include <proto.h>
-
 #include <marcdisp.h>
 
 #ifdef RPN_QUERY
@@ -65,8 +76,6 @@
 #endif
 #endif
 
-#include "../version.h"
-
 #define C_PROMPT "Z> "
 
 static ODR out, in, print;              /* encoding and decoding streams */
@@ -264,18 +273,9 @@ void display_record(Z_DatabaseRecord *p)
            odr_reset(print);
        }
     }
-#if 1
     if (r->which == ODR_EXTERNAL_octet && p->u.octet_aligned->len)
     {
-#if 1
        marc_display ((char*)p->u.octet_aligned->buf, stdout);
-#else
-       FILE *ofi = fopen("dump", "a");
-       assert(ofi);
-       fwrite(p->u.octet_aligned->buf, 1, p->u.octet_aligned->len, ofi);
-       fclose(ofi);
-       printf("dumped record\n");
-#endif
     }
     else
     {
@@ -286,19 +286,32 @@ void display_record(Z_DatabaseRecord *p)
            odr_reset(print);
        }
     }
-#endif
 }
 
 static void display_diagrec(Z_DiagRec *p)
 {
     oident *ent;
+#ifdef Z_95
+    Z_DefaultDiagFormat *r;
+#else
+    Z_DiagRec *r = p;
+#endif
 
     printf("Diagnostic message from database.\n");
-    if (!(ent = oid_getentbyoid(p->diagnosticSetId)) ||
+#ifdef Z_95
+    if (p->which != Z_DiagRec_defaultFormat)
+    {
+       printf("Diagnostic record not in default format.\n");
+       return;
+    }
+    else
+       r = p->u.defaultFormat;
+#endif
+    if (!(ent = oid_getentbyoid(r->diagnosticSetId)) ||
        ent->class != CLASS_DIAGSET || ent->value != VAL_BIB1)
        printf("Missing or unknown diagset\n");
-    printf("Error condition: %d", *p->condition);
-    printf(" -- %s\n", p->addinfo ? p->addinfo : "");
+    printf("Error condition: %d", *r->condition);
+    printf(" -- %s\n", r->addinfo ? r->addinfo : "");
 }
 
 static void display_nameplusrecord(Z_NamePlusRecord *p)
@@ -414,7 +427,7 @@ static int send_searchRequest(char *arg)
 
 static int process_searchResponse(Z_SearchResponse *res)
 {
-    if (res->searchStatus)
+    if (*res->searchStatus)
        printf("Search was a success.\n");
     else
        printf("Search was a bloomin' failure.\n");
@@ -642,11 +655,11 @@ int cmd_scan(char *arg)
     }
     if (*arg)
     {
-       if (send_scanrequest(arg, 5, 19) < 0)
+       if (send_scanrequest(arg, 5, 20) < 0)
            return 0;
     }
     else
-       if (send_scanrequest(last_scan, 1, 19) < 0)
+       if (send_scanrequest(last_scan, 1, 20) < 0)
            return 0;
     return 2;
 }