-/*
- * Copyright (C) 2006, Index Data ApS
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) 1995-2008 Index Data
* See the file LICENSE for details.
- *
- * $Id: libxml2_error.c,v 1.2 2006-07-06 10:17:53 adam Exp $
*/
/**
* \file libxml2_error.c
#include <stdlib.h>
#include <stdarg.h>
#include <yaz/log.h>
+#include <yaz/snprintf.h>
#include <yaz/libxml2_error.h>
#if YAZ_HAVE_XML2
static int libxml2_error_level = 0;
+#if YAZ_HAVE_XML2
static void proxy_xml_error_handler(void *ctx, const char *fmt, ...)
{
char buf[1024];
va_list ap;
va_start(ap, fmt);
-#ifdef WIN32
- vsprintf(buf, fmt, ap);
-#else
- vsnprintf(buf, sizeof(buf), fmt, ap);
-#endif
+ yaz_vsnprintf(buf, sizeof(buf)-1, fmt, ap);
yaz_log(libxml2_error_level, "%s: %s", (char*) ctx, buf);
va_end (ap);
}
+#endif
int libxml2_error_to_yazlog(int level, const char *lead_msg)
{
libxml2_error_level = level;
+#if YAZ_HAVE_XML2
+ xmlSetGenericErrorFunc((void *) "XML", proxy_xml_error_handler);
#if YAZ_HAVE_XSLT
xsltSetGenericErrorFunc((void *) "XSLT", proxy_xml_error_handler);
#endif
-#if YAZ_HAVE_XML2
- xmlSetGenericErrorFunc((void *) "XML", proxy_xml_error_handler);
return 0;
#else
return -1;