Dont assume error if fgets returns NULL
[yaz-moved-to-github.git] / client / client.c
index 38ac3d7..93741ca 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2008 Index Data
+ * Copyright (C) 1995-2009 Index Data
  * See the file LICENSE for details.
  */
 /** \file client.c
@@ -197,14 +197,15 @@ const char* query_type_as_string(QueryType q)
     }
 }
 
-static void do_hex_dump(const char* buf, int len)
+static void do_hex_dump(const char* buf, size_t len)
 {
     if (hex_dump)
     {
-        int i,x;
+        size_t i;
+        int x;
         for (i = 0; i < len ; i = i+16 )
         {
-            printf(" %4.4d ",i);
+            printf(" %4.4ld ", (long) i);
             for(x=0 ; i+x<len && x<16; ++x)
             {
                 printf("%2.2X ",(unsigned int)((unsigned char)buf[i+x]));
@@ -590,7 +591,7 @@ static int parse_cmd_doc(const char **arg, ODR out, char **buf, int *len)
     }
     else if ((*arg)[0] == '<')
     {
-        long fsize;
+        size_t fsize;
         FILE *inf;
         const char *fname;
         const char *arg_start = ++(*arg);
@@ -889,7 +890,8 @@ static void display_record(Z_External *r)
     {
         print_record((const unsigned char *) r->u.octet_aligned->buf,
                      r->u.octet_aligned->len);
-        marc_file_write(r->u.octet_aligned->buf, r->u.octet_aligned->len);
+        marc_file_write((const char *) r->u.octet_aligned->buf,
+                        r->u.octet_aligned->len);
     }
     else if (oid && r->which == Z_External_octet)
     {
@@ -980,7 +982,7 @@ static void display_record(Z_External *r)
             return;
         }
         print_record(r->u.sutrs->buf, r->u.sutrs->len);
-        marc_file_write(r->u.sutrs->buf, r->u.sutrs->len);
+        marc_file_write((const char *) r->u.sutrs->buf, r->u.sutrs->len);
     }
     else if (oid && !oid_oidcmp(oid, yaz_oid_recsyn_grs_1))
     {
@@ -3545,16 +3547,12 @@ int cmd_source(const char* arg, int echo )
         return -1;
     }
 
-    while (!feof(includeFile)) {
-        memset(line, 0, sizeof(line));
-        if (!fgets(line, sizeof(line), includeFile))
-        {
-            perror("fgets");
-            break;
-        }
-
-        if (strlen(line) < 2) continue;
-        if (line[0] == '#') continue;
+    while (fgets(line, sizeof(line), includeFile)) 
+    {
+        if (strlen(line) < 2)
+            continue;
+        if (line[0] == '#')
+            continue;
 
         if ((cp = strrchr(line, '\n')))
             *cp = '\0';
@@ -3914,7 +3912,7 @@ static void handle_srw_record(Z_SRW_record *rec)
     if (rec->recordData_buf && rec->recordData_len)
     {
         if (fwrite(rec->recordData_buf, 1, rec->recordData_len, stdout) !=
-            rec->recordData_len)
+            (size_t) (rec->recordData_len))
         {
             printf("write to stdout failed\n");
         }
@@ -4885,12 +4883,12 @@ static void client(void)
 
 static void show_version(void)
 {
-    char vstr[20];
+    char vstr[20], sha1_str[41];
 
-    yaz_version(vstr, 0);
-    printf("YAZ version: %s\n", YAZ_VERSION);
-    if (strcmp(vstr, YAZ_VERSION))
-        printf("YAZ DLL/SO: %s\n", vstr);
+    yaz_version(vstr, sha1_str);
+    printf("YAZ version: %s %s\n", YAZ_VERSION, YAZ_VERSION_SHA1);
+    if (strcmp(sha1_str, YAZ_VERSION_SHA1))
+        printf("YAZ DLL/SO: %s %s\n", vstr, sha1_str);
     exit(0);
 }
 
@@ -5052,6 +5050,7 @@ int main(int argc, char **argv)
 /*
  * Local variables:
  * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
  * indent-tabs-mode: nil
  * End:
  * vim: shiftwidth=4 tabstop=8 expandtab