Allow command to send extended service package
[yaz-moved-to-github.git] / zoom / zoomsh.c
index c6b29ae..20894e0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: zoomsh.c,v 1.22 2003-07-10 11:50:32 mike Exp $
+ * $Id: zoomsh.c,v 1.24 2003-11-25 23:19:59 adam Exp $
  *
  * ZOOM-C Shell
  */
@@ -153,8 +153,9 @@ static void display_records (ZOOM_connection c,
        int pos = i + start;
         ZOOM_record rec = ZOOM_resultset_record (r, pos);
        const char *db = ZOOM_record_get (rec, "database", 0);
-       int len;
+       int len, opac_len;
        const char *render = ZOOM_record_get (rec, "render", &len);
+       const char *opac_render = ZOOM_record_get (rec, "opac", &opac_len);
        const char *syntax = ZOOM_record_get (rec, "syntax", 0);
        /* if rec is non-null, we got a record for display */
        if (rec)
@@ -166,7 +167,10 @@ static void display_records (ZOOM_connection c,
            if (render)
                fwrite (render, 1, len, stdout);
            printf ("\n");
+           if (opac_render)
+               fwrite (opac_render, 1, opac_len, stdout);
        }
+           
     }
 }
 
@@ -216,15 +220,19 @@ static void cmd_ext (ZOOM_connection *c, ZOOM_resultset *r,
                      const char **args)
 {
     ZOOM_package p[MAX_CON];
+    char ext_type_str[10];
     
     int i;
+
+    if (next_token_copy (args, ext_type_str, sizeof(ext_type_str)) < 0)
+       return;
     
     for (i = 0; i<MAX_CON; i++)
     {
        if (c[i])
         {
             p[i] = ZOOM_connection_package (c[i], 0);
-            ZOOM_package_send(p[i], "itemorder");
+            ZOOM_package_send(p[i], ext_type_str);
         }
         else
             p[i] = 0;