Initialize username and password in yaz_srw_codec.
[yaz-moved-to-github.git] / client / client.c
index 9c44908..1e7077f 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (C) 1995-2005, Index Data ApS
  * See the file LICENSE for details.
  *
- * $Id: client.c,v 1.301 2005-12-02 16:13:50 adam Exp $
+ * $Id: client.c,v 1.304 2006-04-21 10:28:06 adam Exp $
  */
 
 #include <stdio.h>
@@ -341,12 +341,10 @@ static void send_initRequest(const char* type_and_host)
             
             p0->which = Z_OtherInfo_externallyDefinedInfo;
             p0->information.externallyDefinedInfo =
-                yaz_set_proposal_charneg(
-                    out,
-                    (const char**)&negotiationCharset, 
-                    negotiationCharset ? 1 : 0,
-                    (const char**)&yazLang, yazLang ? 1 : 0, 
-                    negotiationCharsetRecords);
+                yaz_set_proposal_charneg_list(out, ",", 
+                                              negotiationCharset, 
+                                              yazLang,
+                                              negotiationCharsetRecords);
         }
     }
     
@@ -882,7 +880,7 @@ static void display_record(Z_External *r)
             if (!(*type->fun)(in, &rr, 0, 0))
             {
                 odr_perror(in, "Decoding constructed record.");
-                fprintf(stdout, "[Near %d]\n", odr_offset(in));
+                fprintf(stdout, "[Near %ld]\n", (long) odr_offset(in));
                 fprintf(stdout, "Packet dump:\n---------\n");
                 odr_dumpBER(stdout, (char*)r->u.octet_aligned->buf,
                             r->u.octet_aligned->len);
@@ -1552,7 +1550,8 @@ static int send_searchRequest(const char *arg)
             const char *pqf_msg;
             size_t off;
             int code = yaz_pqf_error (pqf_parser, &pqf_msg, &off);
-            printf("%*s^\n", off+4, "");
+            int ioff = off;
+            printf("%*s^\n", ioff+4, "");
             printf("Prefix query error: %s (code %d)\n", pqf_msg, code);
             
             yaz_pqf_destroy (pqf_parser);
@@ -2853,7 +2852,8 @@ int send_scanrequest(const char *query, int pp, int num, const char *term)
             const char *pqf_msg;
             size_t off;
             int code = yaz_pqf_error (pqf_parser, &pqf_msg, &off);
-            printf("%*s^\n", off+7, "");
+            int ioff = off;
+            printf("%*s^\n", ioff+7, "");
             printf("Prefix query error: %s (code %d)\n", pqf_msg, code);
             yaz_pqf_destroy (pqf_parser);
             return -1;
@@ -3250,8 +3250,8 @@ int cmd_packagename(const char* arg)
 
 int cmd_proxy(const char* arg)
 {
-    xfree (yazProxy);
-    yazProxy = NULL;
+    xfree(yazProxy);
+    yazProxy = 0;
     if (*arg)
         yazProxy = xstrdup (arg);
     return 1;
@@ -3947,7 +3947,7 @@ void wait_and_handle_response(int one_response_only)
         {
             FILE *f = ber_file ? ber_file : stdout;
             odr_perror(in, "Decoding incoming APDU");
-            fprintf(f, "[Near %d]\n", odr_offset(in));
+            fprintf(f, "[Near %ld]\n", (long) odr_offset(in));
             fprintf(f, "Packet dump:\n---------\n");
             odr_dumpBER(f, netbuffer, res);
             fprintf(f, "---------\n");
@@ -4057,7 +4057,8 @@ int cmd_cclparse(const char* arg)
     rpn = ccl_find_str (bibset, arg, &error, &pos);
     
     if (error) {
-        printf ("%*s^ - ", 3+strlen(last_cmd)+1+pos, " ");
+        int ioff = 3+strlen(last_cmd)+1+pos;
+        printf ("%*s^ - ", ioff, " ");
         printf ("%s\n", ccl_err_msg (error));
     }
     else
@@ -4093,6 +4094,7 @@ int cmd_set_otherinfo(const char* args)
         extraOtherInfos[otherinfoNo].oidval = -1;
         if (extraOtherInfos[otherinfoNo].value)
             free(extraOtherInfos[otherinfoNo].value);                   
+        extraOtherInfos[otherinfoNo].value = 0;
         return 0;
     }
     if (sscan_res<3) {
@@ -4749,7 +4751,7 @@ int main(int argc, char **argv)
             hex_dump = 1;
             break;
         case 'p':
-            yazProxy=strdup(arg);
+            yazProxy = xstrdup(arg);
             break;
         case 'u':
             if (!auth_command)