-/*
- * Copyright (C) 1995-2007, Index Data ApS
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) Index Data
* See the file LICENSE for details.
- *
- * $Id: yaz-xmlquery.c,v 1.6 2007-01-03 08:42:16 adam Exp $
*/
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
#include <stdlib.h>
#include <stdio.h>
else
{
xmlDocPtr doc = 0;
-
+
yaz_rpnquery2xml(rpn, &doc);
-
+
if (!doc)
{
fprintf(stderr, "%s: yaz_rpnquery2xml failed for query %s\n",
exit(4);
}
else
- fwrite(buf_out, len_out, 1, stdout);
+ {
+ if (fwrite(buf_out, len_out, 1, stdout) != 1)
+ {
+ fprintf(stderr, "%s: write failed\n", prog);
+ exit(5);
+ }
+ }
xmlFreeDoc(doc);
}
- }
+ }
odr_destroy(odr);
}
{
WRBUF w = wrbuf_alloc();
yaz_query_to_wrbuf(w, query);
- printf("%s\n", wrbuf_buf(w));
- wrbuf_free(w, 1);
+ printf("%s\n", wrbuf_cstr(w));
+ wrbuf_destroy(w);
}
odr_destroy(odr);
xmlFreeDoc(doc);
exit(1);
}
rewind(f);
- xmlstr = xmalloc(sz+1);
+ xmlstr = (char *) xmalloc(sz+1);
xmlstr[sz] = '\0';
- fread(xmlstr, sz, 1, f);
- fclose(f);
-
+ if (fread(xmlstr, sz, 1, f) != 1)
+ {
+ fprintf(stderr, "%s: read failed for file %s\n", prog, xmlfile);
+ exit(1);
+ }
+ if (fclose(f))
+ {
+ fprintf(stderr, "%s: close failed for file %s\n", prog, xmlfile);
+ exit(1);
+ }
+
xmlquerytopqf(xmlstr);
xfree(xmlstr);
}