X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=zoom%2Fzoomtst9.c;h=2e19f6dca02b60a343b6791c5c705585b0b83aab;hp=a200d31ddd645b85ea825f82d5dcbe524483a7d7;hb=d84e4c3cd444d04aee7beeadb5bb0ae061ee24c9;hpb=fc1c67f5c7ba5e39cdfeff0631eb5f9bd8dbb40a diff --git a/zoom/zoomtst9.c b/zoom/zoomtst9.c index a200d31..2e19f6d 100644 --- a/zoom/zoomtst9.c +++ b/zoom/zoomtst9.c @@ -1,17 +1,17 @@ -/* - * $Id: zoomtst9.c,v 1.1 2005-11-24 10:04:12 adam Exp $ - * - * Program which illustrates the use of extended services update +/* This file is part of the YAZ toolkit. + * Copyright (C) Index Data + * See the file LICENSE for details. */ #include #include +#include #include #include #include -static void usage() +static void usage(void) { fprintf(stderr, "usage:\n" "zoomtst9 target [insert|delete|replace|update] id1 rec1 " @@ -32,15 +32,15 @@ int main(int argc, char **argv) ZOOM_options o = ZOOM_options_create (); int error; const char *errmsg, *addinfo; - + if (argc < 3) usage(); z = ZOOM_connection_create (o); - + /* connect and init */ ZOOM_connection_connect (z, argv[1], 0); - + if ((error = ZOOM_connection_error(z, &errmsg, &addinfo))) { fprintf(stderr, "%s error: %s (%d) %s\n", @@ -73,8 +73,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 */ @@ -93,6 +106,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