Remove C++ comment
[yaz-moved-to-github.git] / zutil / zoom-c.c
index a620a95..995b263 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: zoom-c.c,v 1.3 2002-09-25 20:41:02 adam Exp $
+ * $Id: zoom-c.c,v 1.7 2002-11-15 10:38:37 adam Exp $
  *
  * ZOOM layer for C, connections, result sets, queries.
  */
@@ -1054,18 +1054,19 @@ ZOOM_record_get (ZOOM_record rec, const char *type, int *len)
     }
     else if (!strcmp (type, "syntax"))
     {
+        const char *desc = 0;  
        if (npr->which == Z_NamePlusRecord_databaseRecord)
        {
            Z_External *r = (Z_External *) npr->u.databaseRecord;
            oident *ent = oid_getentbyoid(r->direct_reference);
            if (ent)
-           {
-               if (len)
-                    *len = strlen(ent->desc);
-               return ent->desc;
-           }
+               desc = ent->desc;
        }
-       return "none";
+       if (!desc)
+            desc = "none";
+       if (len)
+            *len = strlen(desc);
+       return desc;
     }
     else if (!strcmp (type, "render") && 
              npr->which == Z_NamePlusRecord_databaseRecord)
@@ -1108,8 +1109,13 @@ ZOOM_record_get (ZOOM_record rec, const char *type, int *len)
         }
         else if (r->which == Z_External_grs1)
         {
-            if (len) *len = 5;
-            return "GRS-1";
+            if (!rec->wrbuf_marc)
+                rec->wrbuf_marc = wrbuf_alloc();
+            wrbuf_rewind (rec->wrbuf_marc);
+            yaz_display_grs1(rec->wrbuf_marc, r->u.grs1, 0);
+            if (len) 
+                *len = wrbuf_len(rec->wrbuf_marc);
+            return wrbuf_buf(rec->wrbuf_marc);
         }
        return 0;
     }
@@ -1143,7 +1149,7 @@ ZOOM_record_get (ZOOM_record rec, const char *type, int *len)
                                      r->u.octet_aligned->buf,
                                      rec->wrbuf_marc, 0,
                                      r->u.octet_aligned->len,
-                                     1) > 0)
+                                     2) > 0)
                 {
                     if (len) *len = wrbuf_len(rec->wrbuf_marc);
                     return wrbuf_buf(rec->wrbuf_marc);
@@ -2177,7 +2183,6 @@ static zoom_ret do_write_ex (ZOOM_connection c, char *buf_out, int len_out)
     }
     else
     {
-        // c->reconnect_ok = 0;
         c->mask = ZOOM_SELECT_READ|ZOOM_SELECT_EXCEPT;
         yaz_log (LOG_DEBUG, "do_write_ex 2 mask=%d", c->mask);
     }