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
Fail decoding of SRU SOAP searchRetrieveRequest if queries are omitted
[yaz-moved-to-github.git]
/
src
/
srw.c
diff --git
a/src/srw.c
b/src/srw.c
index
138f8a6
..
197a5de
100644
(file)
--- a/
src/srw.c
+++ b/
src/srw.c
@@
-2,7
+2,7
@@
* Copyright (C) 1995-2006, Index Data ApS
* See the file LICENSE for details.
*
* Copyright (C) 1995-2006, Index Data ApS
* See the file LICENSE for details.
*
- * $Id: srw.c,v 1.47 2006-08-16 22:47:10 adam Exp $
+ * $Id: srw.c,v 1.49 2006-10-24 08:07:02 adam Exp $
*/
/**
* \file srw.c
*/
/**
* \file srw.c
@@
-522,16
+522,6
@@
static int yaz_srw_terms(ODR o, xmlNodePtr pptr, Z_SRW_scanTerm **terms,
return 0;
}
return 0;
}
-Z_SRW_PDU *yaz_srw_get_core_v_1_1(ODR o)
-{
- Z_SRW_PDU *p = (Z_SRW_PDU *) odr_malloc(o, sizeof(*p));
- p->srw_version = odr_strdup(o, "1.1");
- p->username = 0;
- p->password = 0;
- p->extra_args = 0;
- return p;
-}
-
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
void *client_data, const char *ns)
{
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
void *client_data, const char *ns)
{
@@
-614,6
+604,11
@@
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
&req->database))
;
}
&req->database))
;
}
+ if (!req->query.cql && !req->query.pqf && !req->query.xcql)
+ {
+ /* should put proper diagnostic here */
+ return -1;
+ }
}
else if (!xmlStrcmp(method->name, BAD_CAST "searchRetrieveResponse"))
{
}
else if (!xmlStrcmp(method->name, BAD_CAST "searchRetrieveResponse"))
{