Added comments
[yaz-moved-to-github.git] / client / client.c
index 2dd242a..87b77cb 100644 (file)
@@ -1,10 +1,17 @@
 /*
- * Copyright (c) 1995-1999, Index Data.
+ * Copyright (c) 1995-1999, Index Data
  * See the file LICENSE for details.
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: client.c,v $
- * Revision 1.79  1999-03-23 14:14:25  adam
+ * Revision 1.81  1999-04-20 09:56:48  adam
+ * Added 'name' paramter to encoder/decoder routines (typedef Odr_fun).
+ * Modified all encoders/decoders to reflect this change.
+ *
+ * Revision 1.80  1999/03/31 11:18:24  adam
+ * Implemented odr_strdup. Added Reference ID to backend server API.
+ *
+ * Revision 1.79  1999/03/23 14:14:25  adam
  * Yet another fix.
  *
  * Revision 1.78  1999/03/18 12:57:18  adam
@@ -331,7 +338,7 @@ static void send_apdu(Z_APDU *a)
     char *buf;
     int len;
 
-    if (!z_APDU(out, &a, 0))
+    if (!z_APDU(out, &a, 0, 0))
     {
         odr_perror(out, "Encoding APDU");
         exit(1);
@@ -413,7 +420,7 @@ static int process_initResponse(Z_InitResponse *res)
     {
         printf("UserInformationfield:\n");
         if (!z_External(print, (Z_External**)&res-> userInformationField,
-            0))
+            0, 0))
         {
             odr_perror(print, "Printing userinfo\n");
             odr_reset(print);
@@ -643,7 +650,7 @@ static void display_record(Z_DatabaseRecord *p)
         printf("Record type: ");
         if (ent)
             printf("%s\n", ent->desc);
-        else if (!odr_oid(print, &r->direct_reference, 0))
+        else if (!odr_oid(print, &r->direct_reference, 0, 0))
         {
             odr_perror(print, "print oid");
             odr_reset(print);
@@ -662,7 +669,7 @@ static void display_record(Z_DatabaseRecord *p)
             */
            odr_setbuf(in, (char*)p->u.octet_aligned->buf,
                p->u.octet_aligned->len, 0);
-           if (!(*type->fun)(in, (char **)&rr, 0))
+           if (!(*type->fun)(in, (char **)&rr, 0, 0))
            {
                odr_perror(in, "Decoding constructed record.");
                fprintf(stderr, "[Near %d]\n", odr_offset(in));
@@ -722,7 +729,7 @@ static void display_record(Z_DatabaseRecord *p)
     else 
     {
         printf("Unknown record representation.\n");
-        if (!z_External(print, &r, 0))
+        if (!z_External(print, &r, 0, 0))
         {
             odr_perror(print, "Printing external");
             odr_reset(print);
@@ -1458,7 +1465,8 @@ int send_sortrequest(char *arg, int newset)
 {
     Z_APDU *apdu = zget_APDU(out, Z_APDU_sortRequest);
     Z_SortRequest *req = apdu->u.sortRequest;
-    Z_SortKeySpecList *sksl = (Z_SortKeySpecList *)odr_malloc (out, sizeof(*sksl));
+    Z_SortKeySpecList *sksl = (Z_SortKeySpecList *)
+        odr_malloc (out, sizeof(*sksl));
     char setstring[32];
     char sort_string[32], sort_flags[32];
     int off;
@@ -1476,9 +1484,7 @@ int send_sortrequest(char *arg, int newset)
     req->num_inputResultSetNames = 1;
     req->inputResultSetNames = (Z_InternationalString **)
        odr_malloc (out, sizeof(*req->inputResultSetNames));
-    req->inputResultSetNames[0] = (char *)
-       odr_malloc (out, strlen(setstring)+1);
-    strcpy (req->inputResultSetNames[0], setstring);
+    req->inputResultSetNames[0] = odr_strdup (out, setstring);
 #else
     req->inputResultSetNames =
        (Z_StringList *)odr_malloc (out, sizeof(*req->inputResultSetNames));
@@ -1486,15 +1492,13 @@ int send_sortrequest(char *arg, int newset)
     req->inputResultSetNames->strings =
        (char **)odr_malloc (out, sizeof(*req->inputResultSetNames->strings));
     req->inputResultSetNames->strings[0] =
-       (char *)odr_malloc (out, strlen(setstring)+1);
-    strcpy (req->inputResultSetNames->strings[0], setstring);
+       odr_strdup (out, setstring);
 #endif
 
     if (newset && setnumber >= 0)
        sprintf (setstring, "%d", ++setnumber);
 
-    req->sortedResultSetName = (char *)odr_malloc (out, strlen(setstring)+1);
-    strcpy (req->sortedResultSetName, setstring);
+    req->sortedResultSetName = odr_strdup (out, setstring);
 
     req->sortSequence = sksl;
     sksl->num_specs = 0;
@@ -1541,8 +1545,7 @@ int send_sortrequest(char *arg, int newset)
        else
        {
            sk->which = Z_SortKey_sortField;
-           sk->u.sortField = (char *)odr_malloc (out, strlen(sort_string)+1);
-           strcpy (sk->u.sortField, sort_string);
+           sk->u.sortField = odr_strdup (out, sort_string);
        }
        sks->sortRelation = (int *)odr_malloc (out, sizeof(*sks->sortRelation));
        *sks->sortRelation = Z_SortRelation_ascending;
@@ -1975,7 +1978,7 @@ static int client(int wait)
                 }
                 odr_reset(in); /* release APDU from last round */
                 odr_setbuf(in, netbuffer, res, 0);
-                if (!z_APDU(in, &apdu, 0))
+                if (!z_APDU(in, &apdu, 0, 0))
                 {
                     odr_perror(in, "Decoding incoming APDU");
                    fprintf(stderr, "[Near %d]\n", odr_offset(in));