Fixed Makefile(s).
[yaz-moved-to-github.git] / client / client.c
index 66dc48e..cc0906c 100644 (file)
@@ -1,10 +1,24 @@
 /*
- * Copyright (c) 1995-1997, Index Data.
+ * Copyright (c) 1995-1998, Index Data.
  * See the file LICENSE for details.
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: client.c,v $
- * Revision 1.53  1997-09-29 13:18:59  adam
+ * Revision 1.57  1998-01-07 12:58:22  adam
+ * Using fgets instead of gets.
+ *
+ * Revision 1.56  1997/11/05 09:18:31  adam
+ * The client handles records with no associated syntax.
+ *
+ * Revision 1.55  1997/10/31 12:20:08  adam
+ * Improved memory debugging for xmalloc/nmem.c. References to NMEM
+ * instead of ODR in n ESPEC-1 handling in source d1_espec.c.
+ * Bug fix: missing fclose in data1_read_espec1.
+ *
+ * Revision 1.54  1997/10/27 13:52:46  adam
+ * Header yaz-util includes all YAZ utility header files.
+ *
+ * Revision 1.53  1997/09/29 13:18:59  adam
  * Added function, oid_ent_to_oid, to replace the function
  * oid_getoidbyent, which is not thread safe.
  *
  * to illustrate the use of the YAZ service-level API.
  */
 
-#include <yconfig.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <time.h>
 #include <assert.h>
 
+#include <yaz-util.h>
+
 #include <comstack.h>
 #include <tcpip.h>
 #ifdef USE_XTIMOSI
 #include <proto.h>
 #include <marcdisp.h>
 #include <diagbib1.h>
-#include <options.h>
 
 #include <pquery.h>
 
@@ -492,7 +506,6 @@ static void display_record(Z_DatabaseRecord *p)
             odr_reset(print);
         }
     }
-
     /* Check if this is a known, ASN.1 type tucked away in an octet string */
     if (ent && r->which == Z_External_octet)
     {
@@ -524,7 +537,7 @@ static void display_record(Z_DatabaseRecord *p)
            r->which = type->what;
        }
     }
-    if (ent->value == VAL_SOIF)
+    if (ent && ent->value == VAL_SOIF)
         printf("%.*s", r->u.octet_aligned->len, r->u.octet_aligned->buf);
     else if (r->which == Z_External_octet && p->u.octet_aligned->len)
     {
@@ -533,7 +546,7 @@ static void display_record(Z_DatabaseRecord *p)
         if (marcdump)
             fwrite (marc_buf, strlen (marc_buf), 1, marcdump);
     }
-    else if (ent->value == VAL_SUTRS)
+    else if (ent && ent->value == VAL_SUTRS)
     {
         if (r->which != Z_External_sutrs)
         {
@@ -542,7 +555,7 @@ static void display_record(Z_DatabaseRecord *p)
         }
         printf("%.*s", r->u.sutrs->len, r->u.sutrs->buf);
     }
-    else if (ent->value == VAL_GRS1)
+    else if (ent && ent->value == VAL_GRS1)
     {
         if (r->which != Z_External_grs1)
         {
@@ -670,7 +683,6 @@ static int send_searchRequest(char *arg)
         mediumSetPresentNumber > 0))
     {
         oident prefsyn;
-        int oid[OID_SIZE];
 
         prefsyn.proto = protocol;
         prefsyn.oclass = CLASS_RECSYN;
@@ -1204,7 +1216,7 @@ static int client(int wait)
 #endif
         {
             /* quick & dirty way to get a command line. */
-            if (!gets(line))
+            if (!fgets(line, 1023, stdin))
                 break;
             if ((res = sscanf(line, "%s %[^;]", word, arg)) <= 0)
             {