projects
/
yaz-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix sequence of diagnostic element
[yaz-moved-to-github.git]
/
src
/
srw.c
diff --git
a/src/srw.c
b/src/srw.c
index
375df80
..
7fb30b4
100644
(file)
--- a/
src/srw.c
+++ b/
src/srw.c
@@
-2,7
+2,7
@@
* Copyright (c) 2002-2004, Index Data.
* See the file LICENSE for details.
*
* Copyright (c) 2002-2004, Index Data.
* See the file LICENSE for details.
*
- * $Id: srw.c,v 1.16 2004-01-09 18:10:32 adam Exp $
+ * $Id: srw.c,v 1.18 2004-01-15 23:33:29 adam Exp $
*/
#include <yaz/srw.h>
*/
#include <yaz/srw.h>
@@
-26,7
+26,7
@@
static void add_XML_n(xmlNodePtr ptr, const char *elem, char *val, int len)
}
}
}
}
-xmlNodePtr add_xsd_string_n(xmlNodePtr ptr, const char *elem, char *val,
+xmlNodePtr add_xsd_string_n(xmlNodePtr ptr, const char *elem, const char *val,
int len)
{
if (val)
int len)
{
if (val)
@@
-39,14
+39,14
@@
xmlNodePtr add_xsd_string_n(xmlNodePtr ptr, const char *elem, char *val,
return 0;
}
return 0;
}
-xmlNodePtr add_xsd_string(xmlNodePtr ptr, const char *elem, char *val)
+xmlNodePtr add_xsd_string(xmlNodePtr ptr, const char *elem, const char *val)
{
if (val)
return xmlNewChild(ptr, 0, elem, val);
return 0;
}
{
if (val)
return xmlNewChild(ptr, 0, elem, val);
return 0;
}
-static void add_xsd_integer(xmlNodePtr ptr, const char *elem, int *val)
+static void add_xsd_integer(xmlNodePtr ptr, const char *elem, const int *val)
{
if (val)
{
{
if (val)
{
@@
-318,6
+318,12
@@
static int yaz_srw_diagnostics(ODR o, xmlNodePtr pptr, Z_SRW_diagnostic **recs,
{
xmlNodePtr rptr = xmlNewChild(pptr, ns_diag, "diagnostic", 0);
add_xsd_integer(rptr, "code", (*recs)[i].code);
{
xmlNodePtr rptr = xmlNewChild(pptr, ns_diag, "diagnostic", 0);
add_xsd_integer(rptr, "code", (*recs)[i].code);
+ if ((*recs)[i].code)
+ {
+ const char *message = yaz_diag_srw_str(*(*recs)[i].code);
+ if (message)
+ add_xsd_string(rptr, "message", message);
+ }
add_xsd_string(rptr, "details", (*recs)[i].details);
}
}
add_xsd_string(rptr, "details", (*recs)[i].details);
}
}