-/*
- * Copyright (C) 1995-2007, Index Data ApS
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) 1995-2011 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>
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);
}
}
{
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);