Utility to map between Bib-1 and SRW diagnostics.
[yaz-moved-to-github.git] / zutil / zoom-c.c
index 2d299c1..72e7354 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (c) 2000-2003, Index Data
  * See the file LICENSE for details.
  *
- * $Id: zoom-c.c,v 1.21 2003-02-17 21:23:32 adam Exp $
+ * $Id: zoom-c.c,v 1.25 2003-02-19 15:22:11 adam Exp $
  *
  * ZOOM layer for C, connections, result sets, queries.
  */
@@ -100,7 +100,7 @@ static void set_dset_error (ZOOM_connection c, int error,
     else if (addinfo)
         c->addinfo = xstrdup(addinfo);
     if (error)
-        yaz_log(LOG_LOG, "Error %s %s:%d %s %s",
+        yaz_log(LOG_DEBUG, "Error %s %s:%d %s %s",
                 c->host_port ? c->host_port : "<>", dset, error,
                 addinfo ? addinfo : "",
                 addinfo2 ? addinfo2 : "");
@@ -109,13 +109,13 @@ static void set_dset_error (ZOOM_connection c, int error,
 static void set_HTTP_error (ZOOM_connection c, int error,
                             const char *addinfo, const char *addinfo2)
 {
-    return set_dset_error(c, error, "HTTP", addinfo, addinfo2);
+    set_dset_error(c, error, "HTTP", addinfo, addinfo2);
 }
 
 static void set_ZOOM_error (ZOOM_connection c, int error,
                            const char *addinfo)
 {
-    return set_dset_error(c, error, "ZOOM", addinfo, 0);
+    set_dset_error(c, error, "ZOOM", addinfo, 0);
 }
 
 static void clear_error (ZOOM_connection c)
@@ -712,7 +712,7 @@ static zoom_ret do_connect (ZOOM_connection c)
 
     if (memcmp(c->host_port, "http:", 5) == 0)
     {
-#if HAVE_XSLT
+#if HAVE_XML2
         const char *path;
         c->proto = PROTO_SRW;
         effective_host = c->host_port + 5;
@@ -975,7 +975,7 @@ static zoom_ret ZOOM_connection_send_init (ZOOM_connection c)
     return send_APDU (c, apdu);
 }
 
-#if HAVE_XSLT
+#if HAVE_XML2
 static zoom_ret send_srw (ZOOM_connection c, Z_SRW_searchRetrieve *sr)
 {
     Z_SOAP_Handler h[2] = {
@@ -1018,7 +1018,7 @@ static zoom_ret send_srw (ZOOM_connection c, Z_SRW_searchRetrieve *sr)
 }
 #endif
 
-#if HAVE_XSLT
+#if HAVE_XML2
 static zoom_ret ZOOM_connection_srw_send_search(ZOOM_connection c)
 {
     int i;
@@ -1063,9 +1063,10 @@ static zoom_ret ZOOM_connection_srw_send_search(ZOOM_connection c)
     if (resultset->z_query->which == Z_Query_type_104
         && resultset->z_query->u.type_104->which == Z_External_CQL)
         sr->u.request->query = resultset->z_query->u.type_104->u.cql;
-    else if (resultset->z_query->which == Z_Query_type_1)
-    { 
-        set_ZOOM_error(c, ZOOM_ERROR_UNSUPPORTED_QUERY, "Type-1");
+    else if (resultset->z_query->which == Z_Query_type_1 &&
+             resultset->z_query->u.type_1)
+    {
+        set_ZOOM_error(c, ZOOM_ERROR_UNSUPPORTED_QUERY, 0);
         return zoom_complete;
     }
     else
@@ -2391,7 +2392,7 @@ static void handle_apdu (ZOOM_connection c, Z_APDU *apdu)
     }
 }
 
-#if HAVE_XSLT
+#if HAVE_XML2
 static void handle_srw_response(ZOOM_connection c,
                                 Z_SRW_searchRetrieveResponse *res)
 {
@@ -2411,7 +2412,7 @@ static void handle_srw_response(ZOOM_connection c,
 
     resultset->size = 0;
 
-    yaz_log(LOG_LOG, "got SRW response OK");
+    yaz_log(LOG_DEBUG, "got SRW response OK");
     
     if (res->numberOfRecords)
         resultset->size = *res->numberOfRecords;
@@ -2445,7 +2446,6 @@ static void handle_srw_response(ZOOM_connection c,
             npr->u.databaseRecord->u.octet_aligned->size = 
             res->records[i].recordData_len;
         record_cache_add (resultset, npr, pos);
-        yaz_log(LOG_LOG, "add SRW record to cache to pos %d", pos);
     }
     if (res->num_diagnostics > 0)
     {
@@ -2458,7 +2458,7 @@ static void handle_srw_response(ZOOM_connection c,
 }
 #endif
 
-#if HAVE_XSLT
+#if HAVE_XML2
 static void handle_http(ZOOM_connection c, Z_HTTP_Response *hres)
 {
     int ret = -1;
@@ -2572,7 +2572,7 @@ static int do_read (ZOOM_connection c)
            handle_apdu (c, gdu->u.z3950);
         else if (gdu->which == Z_GDU_HTTP_Response)
         {
-#if HAVE_XSLT
+#if HAVE_XML2
             handle_http (c, gdu->u.HTTP_Response);
 #else
             set_ZOOM_error(c, ZOOM_ERROR_DECODE, 0);
@@ -2729,7 +2729,7 @@ ZOOM_connection_error_x (ZOOM_connection c, const char **cp,
         else if (!strcmp(c->diagset, "Bib-1"))
             *cp = ZOOM_diag_str(error);
         else if (!strcmp(c->diagset, "SRW"))
-            *cp = yaz_srw_error_str(c->error);
+            *cp = yaz_diag_srw_str(c->error);
         else
             *cp = "Unknown error and diagnostic set";
     }