Moved ignore files.
[yaz-moved-to-github.git] / zoom / zoomtst9.c
index a200d31..fd01158 100644 (file)
@@ -1,17 +1,18 @@
-/*
- * $Id: zoomtst9.c,v 1.1 2005-11-24 10:04:12 adam Exp $
- *
- * Program which illustrates the use of extended services update
- */
+/* $Id: zoomtst9.c,v 1.5 2007-01-03 08:42:17 adam Exp $  */
+
+/** \file zoomtst9.c
+    \brief Extended Service Update
+*/
 
 #include <stdio.h>
 #include <string.h>
+#include <yaz/wrbuf.h>
 
 #include <yaz/nmem.h>
 #include <yaz/xmalloc.h>
 #include <yaz/zoom.h>
 
-static void usage()
+static void usage(void)
 {
     fprintf(stderr, "usage:\n"
             "zoomtst9 target [insert|delete|replace|update] id1 rec1 "
@@ -73,8 +74,21 @@ int main(int argc, char **argv)
             ZOOM_package_option_set(pkg, "recordIdOpaque",
                                     argv[i][0] ? argv[i] : 0);
             i++;
-            ZOOM_package_option_set(pkg, "record",
-                                    argv[i][0] ? argv[i] : 0);
+            if (!strcmp(argv[i], "-"))
+            {
+                /* For -, read record buffer from stdin */
+                WRBUF w = wrbuf_alloc();
+                int ch;
+                while ((ch = getchar()) != EOF)
+                    wrbuf_putc(w, ch);
+                wrbuf_putc(w, '\0');
+                ZOOM_package_option_set(pkg, "record", wrbuf_buf(w));
+            }
+            else
+            {
+                ZOOM_package_option_set(pkg, "record",
+                                        argv[i][0] ? argv[i] : 0);
+            }
             i++;
             ZOOM_package_send(pkg, "update"); /* Update EXT service */