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 incorrect diagnostic.
[yaz-moved-to-github.git]
/
src
/
srw.c
diff --git
a/src/srw.c
b/src/srw.c
index
1165999
..
3c77116
100644
(file)
--- a/
src/srw.c
+++ b/
src/srw.c
@@
-2,7
+2,7
@@
* Copyright (C) 1995-2005, Index Data ApS
* See the file LICENSE for details.
*
* Copyright (C) 1995-2005, Index Data ApS
* See the file LICENSE for details.
*
- * $Id: srw.c,v 1.35 2005-06-25 15:46:05 adam Exp $
+ * $Id: srw.c,v 1.36 2005-08-22 20:34:21 adam Exp $
*/
/**
* \file srw.c
*/
/**
* \file srw.c
@@
-22,7
+22,7
@@
static void add_XML_n(xmlNodePtr ptr, const char *elem, char *val, int len)
xmlDocPtr doc = xmlParseMemory(val,len);
if (doc)
{
xmlDocPtr doc = xmlParseMemory(val,len);
if (doc)
{
- xmlNodePtr c = xmlNewChild(ptr, 0, elem, 0);
+ xmlNodePtr c = xmlNewChild(ptr, 0, BAD_CAST elem, 0);
xmlNodePtr t = xmlDocGetRootElement(doc);
xmlAddChild(c, xmlCopyNode(t,1));
xmlFreeDoc(doc);
xmlNodePtr t = xmlDocGetRootElement(doc);
xmlAddChild(c, xmlCopyNode(t,1));
xmlFreeDoc(doc);
@@
-35,8
+35,8
@@
xmlNodePtr add_xsd_string_n(xmlNodePtr ptr, const char *elem, const char *val,
{
if (val)
{
{
if (val)
{
- xmlNodePtr c = xmlNewChild(ptr, 0, elem, 0);
- xmlNodePtr t = xmlNewTextLen(val, len);
+ xmlNodePtr c = xmlNewChild(ptr, 0, BAD_CAST elem, 0);
+ xmlNodePtr t = xmlNewTextLen(BAD_CAST val, len);
xmlAddChild(c, t);
return t;
}
xmlAddChild(c, t);
return t;
}
@@
-46,7
+46,8
@@
xmlNodePtr add_xsd_string_n(xmlNodePtr ptr, const char *elem, const char *val,
xmlNodePtr add_xsd_string(xmlNodePtr ptr, const char *elem, const char *val)
{
if (val)
xmlNodePtr add_xsd_string(xmlNodePtr ptr, const char *elem, const char *val)
{
if (val)
- return xmlNewTextChild(ptr, 0, elem, val);
+ return xmlNewTextChild(ptr, 0, BAD_CAST elem,
+ BAD_CAST val);
return 0;
}
return 0;
}
@@
-56,13
+57,13
@@
static void add_xsd_integer(xmlNodePtr ptr, const char *elem, const int *val)
{
char str[30];
sprintf(str, "%d", *val);
{
char str[30];
sprintf(str, "%d", *val);
- xmlNewTextChild(ptr, 0, elem, str);
+ xmlNewTextChild(ptr, 0, BAD_CAST elem, BAD_CAST str);
}
}
static int match_element(xmlNodePtr ptr, const char *elem)
{
}
}
static int match_element(xmlNodePtr ptr, const char *elem)
{
- if (ptr->type == XML_ELEMENT_NODE && !strcmp(ptr->name, elem))
+ if (ptr->type == XML_ELEMENT_NODE && !xmlStrcmp(ptr->name, BAD_CAST elem))
return 1;
return 0;
}
return 1;
return 0;
}
@@
-99,9
+100,9
@@
static int match_xsd_string_n(xmlNodePtr ptr, const char *elem, ODR o,
*val = "";
return 1;
}
*val = "";
return 1;
}
- *val = odr_strdup(o, ptr->content);
+ *val = odr_strdup(o, (const char *) ptr->content);
if (len)
if (len)
- *len = strlen(ptr->content);
+ *len = xmlStrlen(ptr->content);
return 1;
}
return 1;
}
@@
-166,7
+167,7
@@
static int match_xsd_integer(xmlNodePtr ptr, const char *elem, ODR o, int **val)
ptr = ptr->children;
if (!ptr || ptr->type != XML_TEXT_NODE)
return 0;
ptr = ptr->children;
if (!ptr || ptr->type != XML_TEXT_NODE)
return 0;
- *val = odr_intdup(o, atoi(ptr->content));
+ *val = odr_intdup(o, atoi((const char *) ptr->content));
return 1;
}
return 1;
}
@@
-245,7
+246,7
@@
static int yaz_srw_records(ODR o, xmlNodePtr pptr, Z_SRW_record **recs,
for (ptr = pptr->children; ptr; ptr = ptr->next)
{
if (ptr->type == XML_ELEMENT_NODE &&
for (ptr = pptr->children; ptr; ptr = ptr->next)
{
if (ptr->type == XML_ELEMENT_NODE &&
- !strcmp(ptr->name, "record"))
+ !xmlStrcmp(ptr->name, BAD_CAST "record"))
(*num)++;
}
if (!*num)
(*num)++;
}
if (!*num)
@@
-254,7
+255,7
@@
static int yaz_srw_records(ODR o, xmlNodePtr pptr, Z_SRW_record **recs,
for (i = 0, ptr = pptr->children; ptr; ptr = ptr->next)
{
if (ptr->type == XML_ELEMENT_NODE &&
for (i = 0, ptr = pptr->children; ptr; ptr = ptr->next)
{
if (ptr->type == XML_ELEMENT_NODE &&
- !strcmp(ptr->name, "record"))
+ !xmlStrcmp(ptr->name, BAD_CAST "record"))
{
yaz_srw_record(o, ptr, (*recs)+i, client_data, ns);
i++;
{
yaz_srw_record(o, ptr, (*recs)+i, client_data, ns);
i++;
@@
-266,7
+267,8
@@
static int yaz_srw_records(ODR o, xmlNodePtr pptr, Z_SRW_record **recs,
int i;
for (i = 0; i < *num; i++)
{
int i;
for (i = 0; i < *num; i++)
{
- xmlNodePtr rptr = xmlNewChild(pptr, 0, "record", 0);
+ xmlNodePtr rptr = xmlNewChild(pptr, 0, BAD_CAST "record",
+ 0);
yaz_srw_record(o, rptr, (*recs)+i, client_data, ns);
}
}
yaz_srw_record(o, rptr, (*recs)+i, client_data, ns);
}
}
@@
-284,7
+286,7
@@
static int yaz_srw_diagnostics(ODR o, xmlNodePtr pptr, Z_SRW_diagnostic **recs,
for (ptr = pptr->children; ptr; ptr = ptr->next)
{
if (ptr->type == XML_ELEMENT_NODE &&
for (ptr = pptr->children; ptr; ptr = ptr->next)
{
if (ptr->type == XML_ELEMENT_NODE &&
- !strcmp(ptr->name, "diagnostic"))
+ !xmlStrcmp(ptr->name, BAD_CAST "diagnostic"))
(*num)++;
}
if (!*num)
(*num)++;
}
if (!*num)
@@
-299,7
+301,7
@@
static int yaz_srw_diagnostics(ODR o, xmlNodePtr pptr, Z_SRW_diagnostic **recs,
for (i = 0, ptr = pptr->children; ptr; ptr = ptr->next)
{
if (ptr->type == XML_ELEMENT_NODE &&
for (i = 0, ptr = pptr->children; ptr; ptr = ptr->next)
{
if (ptr->type == XML_ELEMENT_NODE &&
- !strcmp(ptr->name, "diagnostic"))
+ !xmlStrcmp(ptr->name, BAD_CAST "diagnostic"))
{
xmlNodePtr rptr;
(*recs)[i].uri = 0;
{
xmlNodePtr rptr;
(*recs)[i].uri = 0;
@@
-325,11
+327,13
@@
static int yaz_srw_diagnostics(ODR o, xmlNodePtr pptr, Z_SRW_diagnostic **recs,
{
int i;
xmlNsPtr ns_diag =
{
int i;
xmlNsPtr ns_diag =
- xmlNewNs(pptr, "http://www.loc.gov/zing/srw/diagnostic/", 0);
+ xmlNewNs(pptr, BAD_CAST
+ "http://www.loc.gov/zing/srw/diagnostic/", 0);
for (i = 0; i < *num; i++)
{
const char *std_diag = "info:srw/diagnostic/1/";
for (i = 0; i < *num; i++)
{
const char *std_diag = "info:srw/diagnostic/1/";
- xmlNodePtr rptr = xmlNewChild(pptr, ns_diag, "diagnostic", 0);
+ xmlNodePtr rptr = xmlNewChild(pptr, ns_diag,
+ BAD_CAST "diagnostic", 0);
add_xsd_string(rptr, "uri", (*recs)[i].uri);
if ((*recs)[i].message)
add_xsd_string(rptr, "message", (*recs)[i].message);
add_xsd_string(rptr, "uri", (*recs)[i].uri);
if ((*recs)[i].message)
add_xsd_string(rptr, "message", (*recs)[i].message);
@@
-394,7
+398,7
@@
static int yaz_srw_terms(ODR o, xmlNodePtr pptr, Z_SRW_scanTerm **terms,
for (ptr = pptr->children; ptr; ptr = ptr->next)
{
if (ptr->type == XML_ELEMENT_NODE &&
for (ptr = pptr->children; ptr; ptr = ptr->next)
{
if (ptr->type == XML_ELEMENT_NODE &&
- !strcmp(ptr->name, "term"))
+ !xmlStrcmp(ptr->name, BAD_CAST "term"))
(*num)++;
}
if (!*num)
(*num)++;
}
if (!*num)
@@
-403,7
+407,7
@@
static int yaz_srw_terms(ODR o, xmlNodePtr pptr, Z_SRW_scanTerm **terms,
for (i = 0, ptr = pptr->children; ptr; ptr = ptr->next, i++)
{
if (ptr->type == XML_ELEMENT_NODE &&
for (i = 0, ptr = pptr->children; ptr; ptr = ptr->next, i++)
{
if (ptr->type == XML_ELEMENT_NODE &&
- !strcmp(ptr->name, "term"))
+ !xmlStrcmp(ptr->name, BAD_CAST "term"))
yaz_srw_term(o, ptr, (*terms)+i, client_data, ns);
}
}
yaz_srw_term(o, ptr, (*terms)+i, client_data, ns);
}
}
@@
-412,7
+416,7
@@
static int yaz_srw_terms(ODR o, xmlNodePtr pptr, Z_SRW_scanTerm **terms,
int i;
for (i = 0; i < *num; i++)
{
int i;
for (i = 0; i < *num; i++)
{
- xmlNodePtr rptr = xmlNewChild(pptr, 0, "term", 0);
+ xmlNodePtr rptr = xmlNewChild(pptr, 0, BAD_CAST "term", 0);
yaz_srw_term(o, rptr, (*terms)+i, client_data, ns);
}
}
yaz_srw_term(o, rptr, (*terms)+i, client_data, ns);
}
}
@@
-439,7
+443,7
@@
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
*p = (Z_SRW_PDU *) odr_malloc(o, sizeof(**p));
(*p)->srw_version = odr_strdup(o, "1.1");
*p = (Z_SRW_PDU *) odr_malloc(o, sizeof(**p));
(*p)->srw_version = odr_strdup(o, "1.1");
- if (!strcmp(method->name, "searchRetrieveRequest"))
+ if (!xmlStrcmp(method->name, BAD_CAST "searchRetrieveRequest"))
{
xmlNodePtr ptr = method->children;
Z_SRW_searchRetrieveRequest *req;
{
xmlNodePtr ptr = method->children;
Z_SRW_searchRetrieveRequest *req;
@@
-504,7
+508,7
@@
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
/* missing is xQuery, xSortKeys .. */
}
}
/* missing is xQuery, xSortKeys .. */
}
}
- else if (!strcmp(method->name, "searchRetrieveResponse"))
+ else if (!xmlStrcmp(method->name, BAD_CAST "searchRetrieveResponse"))
{
xmlNodePtr ptr = method->children;
Z_SRW_searchRetrieveResponse *res;
{
xmlNodePtr ptr = method->children;
Z_SRW_searchRetrieveResponse *res;
@@
-549,7
+553,7
@@
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
client_data, ns);
}
}
client_data, ns);
}
}
- else if (!strcmp(method->name, "explainRequest"))
+ else if (!xmlStrcmp(method->name, BAD_CAST "explainRequest"))
{
Z_SRW_explainRequest *req;
xmlNodePtr ptr = method->children;
{
Z_SRW_explainRequest *req;
xmlNodePtr ptr = method->children;
@@
-576,7
+580,7
@@
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
;
}
}
;
}
}
- else if (!strcmp(method->name, "explainResponse"))
+ else if (!xmlStrcmp(method->name, BAD_CAST "explainResponse"))
{
Z_SRW_explainResponse *res;
xmlNodePtr ptr = method->children;
{
Z_SRW_explainResponse *res;
xmlNodePtr ptr = method->children;
@@
-605,7
+609,7
@@
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
;
}
}
;
}
}
- else if (!strcmp(method->name, "scanRequest"))
+ else if (!xmlStrcmp(method->name, BAD_CAST "scanRequest"))
{
Z_SRW_scanRequest *req;
xmlNodePtr ptr = method->children;
{
Z_SRW_scanRequest *req;
xmlNodePtr ptr = method->children;
@@
-647,7
+651,7
@@
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
;
}
}
;
}
}
- else if (!strcmp(method->name, "scanResponse"))
+ else if (!xmlStrcmp(method->name, BAD_CAST "scanResponse"))
{
Z_SRW_scanResponse *res;
xmlNodePtr ptr = method->children;
{
Z_SRW_scanResponse *res;
xmlNodePtr ptr = method->children;
@@
-690,8
+694,8
@@
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
{
Z_SRW_searchRetrieveRequest *req = (*p)->u.request;
xmlNodePtr ptr = xmlNewChild(pptr, 0,
{
Z_SRW_searchRetrieveRequest *req = (*p)->u.request;
xmlNodePtr ptr = xmlNewChild(pptr, 0,
- "searchRetrieveRequest", 0);
- ns_srw = xmlNewNs(ptr, ns, "zs");
+ BAD_CAST "searchRetrieveRequest", 0);
+ ns_srw = xmlNewNs(ptr, BAD_CAST ns, BAD_CAST "zs");
xmlSetNs(ptr, ns_srw);
if ((*p)->srw_version)
xmlSetNs(ptr, ns_srw);
if ((*p)->srw_version)
@@
-732,8
+736,8
@@
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
{
Z_SRW_searchRetrieveResponse *res = (*p)->u.response;
xmlNodePtr ptr = xmlNewChild(pptr, 0,
{
Z_SRW_searchRetrieveResponse *res = (*p)->u.response;
xmlNodePtr ptr = xmlNewChild(pptr, 0,
- "searchRetrieveResponse", 0);
- ns_srw = xmlNewNs(ptr, ns, "zs");
+ BAD_CAST "searchRetrieveResponse", 0);
+ ns_srw = xmlNewNs(ptr, BAD_CAST ns, BAD_CAST "zs");
xmlSetNs(ptr, ns_srw);
if ((*p)->srw_version)
xmlSetNs(ptr, ns_srw);
if ((*p)->srw_version)
@@
-743,7
+747,7
@@
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
add_xsd_integer(ptr, "resultSetIdleTime", res->resultSetIdleTime);
if (res->num_records)
{
add_xsd_integer(ptr, "resultSetIdleTime", res->resultSetIdleTime);
if (res->num_records)
{
- xmlNodePtr rptr = xmlNewChild(ptr, 0, "records", 0);
+ xmlNodePtr rptr = xmlNewChild(ptr, 0, BAD_CAST "records", 0);
yaz_srw_records(o, rptr, &res->records, &res->num_records,
client_data, ns);
}
yaz_srw_records(o, rptr, &res->records, &res->num_records,
client_data, ns);
}
@@
-751,7
+755,8
@@
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
res->nextRecordPosition);
if (res->num_diagnostics)
{
res->nextRecordPosition);
if (res->num_diagnostics)
{
- xmlNodePtr rptr = xmlNewChild(ptr, 0, "diagnostics", 0);
+ xmlNodePtr rptr = xmlNewChild(ptr, 0, BAD_CAST "diagnostics",
+ 0);
yaz_srw_diagnostics(o, rptr, &res->diagnostics,
&res->num_diagnostics, client_data, ns);
}
yaz_srw_diagnostics(o, rptr, &res->diagnostics,
&res->num_diagnostics, client_data, ns);
}
@@
-759,8
+764,9
@@
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
else if ((*p)->which == Z_SRW_explain_request)
{
Z_SRW_explainRequest *req = (*p)->u.explain_request;
else if ((*p)->which == Z_SRW_explain_request)
{
Z_SRW_explainRequest *req = (*p)->u.explain_request;
- xmlNodePtr ptr = xmlNewChild(pptr, 0, "explainRequest", 0);
- ns_srw = xmlNewNs(ptr, ns, "zs");
+ xmlNodePtr ptr = xmlNewChild(pptr, 0, BAD_CAST "explainRequest",
+ 0);
+ ns_srw = xmlNewNs(ptr, BAD_CAST ns, BAD_CAST "zs");
xmlSetNs(ptr, ns_srw);
add_xsd_string(ptr, "version", (*p)->srw_version);
xmlSetNs(ptr, ns_srw);
add_xsd_string(ptr, "version", (*p)->srw_version);
@@
-771,19
+777,21
@@
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
else if ((*p)->which == Z_SRW_explain_response)
{
Z_SRW_explainResponse *res = (*p)->u.explain_response;
else if ((*p)->which == Z_SRW_explain_response)
{
Z_SRW_explainResponse *res = (*p)->u.explain_response;
- xmlNodePtr ptr = xmlNewChild(pptr, 0, "explainResponse", 0);
- ns_srw = xmlNewNs(ptr, ns, "zs");
+ xmlNodePtr ptr = xmlNewChild(pptr, 0, BAD_CAST "explainResponse",
+ 0);
+ ns_srw = xmlNewNs(ptr, BAD_CAST ns, BAD_CAST "zs");
xmlSetNs(ptr, ns_srw);
add_xsd_string(ptr, "version", (*p)->srw_version);
if (1)
{
xmlSetNs(ptr, ns_srw);
add_xsd_string(ptr, "version", (*p)->srw_version);
if (1)
{
- xmlNodePtr ptr1 = xmlNewChild(ptr, 0, "record", 0);
+ xmlNodePtr ptr1 = xmlNewChild(ptr, 0, BAD_CAST "record", 0);
yaz_srw_record(o, ptr1, &res->record, client_data, ns);
}
if (res->num_diagnostics)
{
yaz_srw_record(o, ptr1, &res->record, client_data, ns);
}
if (res->num_diagnostics)
{
- xmlNodePtr rptr = xmlNewChild(ptr, 0, "diagnostics", 0);
+ xmlNodePtr rptr = xmlNewChild(ptr, 0, BAD_CAST "diagnostics",
+ 0);
yaz_srw_diagnostics(o, rptr, &res->diagnostics,
&res->num_diagnostics, client_data, ns);
}
yaz_srw_diagnostics(o, rptr, &res->diagnostics,
&res->num_diagnostics, client_data, ns);
}
@@
-791,8
+799,8
@@
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
else if ((*p)->which == Z_SRW_scan_request)
{
Z_SRW_scanRequest *req = (*p)->u.scan_request;
else if ((*p)->which == Z_SRW_scan_request)
{
Z_SRW_scanRequest *req = (*p)->u.scan_request;
- xmlNodePtr ptr = xmlNewChild(pptr, 0, "scanRequest", 0);
- ns_srw = xmlNewNs(ptr, ns, "zs");
+ xmlNodePtr ptr = xmlNewChild(pptr, 0, BAD_CAST "scanRequest", 0);
+ ns_srw = xmlNewNs(ptr, BAD_CAST ns, BAD_CAST "zs");
xmlSetNs(ptr, ns_srw);
add_xsd_string(ptr, "version", (*p)->srw_version);
xmlSetNs(ptr, ns_srw);
add_xsd_string(ptr, "version", (*p)->srw_version);
@@
-813,21
+821,22
@@
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
else if ((*p)->which == Z_SRW_scan_response)
{
Z_SRW_scanResponse *res = (*p)->u.scan_response;
else if ((*p)->which == Z_SRW_scan_response)
{
Z_SRW_scanResponse *res = (*p)->u.scan_response;
- xmlNodePtr ptr = xmlNewChild(pptr, 0, "scanResponse", 0);
- ns_srw = xmlNewNs(ptr, ns, "zs");
+ xmlNodePtr ptr = xmlNewChild(pptr, 0, BAD_CAST "scanResponse", 0);
+ ns_srw = xmlNewNs(ptr, BAD_CAST ns, BAD_CAST "zs");
xmlSetNs(ptr, ns_srw);
add_xsd_string(ptr, "version", (*p)->srw_version);
if (res->num_terms)
{
xmlSetNs(ptr, ns_srw);
add_xsd_string(ptr, "version", (*p)->srw_version);
if (res->num_terms)
{
- xmlNodePtr rptr = xmlNewChild(ptr, 0, "terms", 0);
+ xmlNodePtr rptr = xmlNewChild(ptr, 0, BAD_CAST "terms", 0);
yaz_srw_terms(o, rptr, &res->terms, &res->num_terms,
client_data, ns);
}
if (res->num_diagnostics)
{
yaz_srw_terms(o, rptr, &res->terms, &res->num_terms,
client_data, ns);
}
if (res->num_diagnostics)
{
- xmlNodePtr rptr = xmlNewChild(ptr, 0, "diagnostics", 0);
+ xmlNodePtr rptr = xmlNewChild(ptr, 0, BAD_CAST "diagnostics",
+ 0);
yaz_srw_diagnostics(o, rptr, &res->diagnostics,
&res->num_diagnostics, client_data, ns);
}
yaz_srw_diagnostics(o, rptr, &res->diagnostics,
&res->num_diagnostics, client_data, ns);
}