Fail decoding of SRU SOAP searchRetrieveRequest if queries are omitted
[yaz-moved-to-github.git] / 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.
  *
- * $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
@@ -522,16 +522,6 @@ static int yaz_srw_terms(ODR o, xmlNodePtr pptr, Z_SRW_scanTerm **terms,
     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)
 {
@@ -614,6 +604,11 @@ int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
                                            &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"))
         {