* Copyright (C) 1995-2007, Index Data ApS
* See the file LICENSE for details.
*
- * $Id: marcdisp.c,v 1.44 2007-01-18 14:45:05 adam Exp $
+ * $Id: marcdisp.c,v 1.47 2007-02-23 10:15:01 adam Exp $
*/
/**
#include <yaz/wrbuf.h>
#include <yaz/yaz-util.h>
#include <yaz/nmem_xml.h>
+#include <yaz/snprintf.h>
#if YAZ_HAVE_XML2
#include <libxml/parser.h>
{
if (mt->iconv_cd)
{
-#if 1
char outbuf[12];
size_t outbytesleft = sizeof(outbuf);
char *outp = outbuf;
size_t r = yaz_iconv(mt->iconv_cd, 0, 0, &outp, &outbytesleft);
if (r != (size_t) (-1))
wrbuf_write(wr, outbuf, outp - outbuf);
-#else
- int pos = wr->pos;
- wrbuf_iconv_puts(wr, mt->iconv_cd, " ");
- if (pos != wr->pos)
- wr->pos--;
- yaz_iconv(mt->iconv_cd, 0, 0, 0, 0);
-#endif
}
}
{
va_list ap;
char buf[200];
- va_start(ap, fmt);
-#ifdef WIN32
- _vsnprintf(buf, sizeof(buf)-1, fmt, ap);
-#else
-/* !WIN32 */
-#if HAVE_VSNPRINTF
- vsnprintf(buf, sizeof(buf), fmt, ap);
-#else
- vsprintf(buf, fmt, ap);
-#endif
-#endif
-/* WIN32 */
+ va_start(ap, fmt);
+ yaz_vsnprintf(buf, sizeof(buf)-1, fmt, ap);
yaz_marc_add_comment(mt, buf);
va_end (ap);
}
{
if (mt->write_using_libxml2)
{
+#if YAZ_HAVE_XML2
int ret;
xmlNode *root_ptr;
xmlFreeDoc(doc);
}
return ret;
+#else
+ return -1;
+#endif
}
else
return yaz_marc_write_marcxml_ns1(mt, wr, ns, format, type);