Bump year
[yaz-moved-to-github.git] / util / srwtst.c
index b10fb5b..cd10a51 100644 (file)
@@ -1,13 +1,15 @@
-/*
- * Copyright (c) 2002-2003, Index Data.
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) 1995-2013 Index Data
  * See the file LICENSE for details.
- *
- * $Id: srwtst.c,v 1.1 2003-10-27 12:21:40 adam Exp $
  */
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
 
+#include <stdlib.h>
 #include <yaz/srw.h>
 
-#if HAVE_XML2
+#if YAZ_HAVE_XML2
 Z_SOAP_Handler h[2] = {
     {"http://www.loc.gov/zing/srw/v1.0/", 0, (Z_SOAP_fun) yaz_srw_codec},
     {0, 0, 0}
@@ -18,13 +20,11 @@ int main(int argc, char **argv)
     char buf[163840];
     char *content_buf = buf;
     int content_len;
-    int ret;
     size_t no;
     Z_SOAP *soap_package = 0;
     ODR decode, encode;
     int debug = 0;
 
-    nmem_init();
     if (argc == 2 && !strcmp(argv[1], "debug"))
         debug = 1;
     no = fread(buf, 1, sizeof(buf), stdin);
@@ -36,8 +36,8 @@ int main(int argc, char **argv)
     decode = odr_createmem(ODR_DECODE);
     encode = odr_createmem(ODR_ENCODE);
     content_len = no;
-    ret = z_soap_codec(decode, &soap_package, 
-                       &content_buf, &content_len, h);
+    z_soap_codec(decode, &soap_package,
+                 &content_buf, &content_len, h);
     if (!soap_package)
     {
         fprintf(stderr, "Decoding seriously failed\n");
@@ -49,9 +49,9 @@ int main(int argc, char **argv)
         if (soap_package->which == Z_SOAP_generic &&
             soap_package->u.generic->no == 0)
         {
-            Z_SRW_PDU *sr = soap_package->u.generic->p;
+            Z_SRW_PDU *sr = (Z_SRW_PDU *) soap_package->u.generic->p;
             if (sr->which == Z_SRW_searchRetrieve_request)
-            { 
+            {
                 Z_SRW_searchRetrieveRequest *req = sr->u.request;
                 switch(req->query_type)
                 {
@@ -76,18 +76,22 @@ int main(int argc, char **argv)
                     {
                         fprintf (stderr, "%d\n", i);
                         if (res->records[i].recordData_buf)
-                            fwrite(res->records[i].recordData_buf, 1,
-                                   res->records[i].recordData_len, stderr);
+                        {
+                            fprintf(stderr, "%.*s",
+                                    res->records[i].recordData_len,
+                                    res->records[i].recordData_buf);
+                        }
                     }
                 }
             }
 
         }
     }
-    ret = z_soap_codec(encode, &soap_package,
-                       &content_buf, &content_len, h);
+    z_soap_codec(encode, &soap_package, &content_buf, &content_len, h);
     if (content_buf && content_len)
-        fwrite (content_buf, content_len, 1, stdout);
+    {
+        printf("%.*s", content_len, content_buf);
+    }
     else
     {
         fprintf(stderr, "No output!\n");
@@ -95,7 +99,6 @@ int main(int argc, char **argv)
     }
     odr_destroy(decode);
     odr_destroy(encode);
-    nmem_exit();
     exit(0);
 }
 #else
@@ -105,3 +108,12 @@ int main(int argc, char **argv)
     exit(1);
 }
 #endif
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+