zoom: fix spelling for a few errors
[metaproxy-moved-to-github.git] / src / filter_zoom.cpp
index b23fa0e..452c18f 100644 (file)
@@ -545,8 +545,11 @@ yf::Zoom::SearchablePtr yf::Zoom::Impl::parse_torus_record(const xmlNode *ptr)
                           "cclmap_", 7))
         {
             std::string value = mp::xml::get_text(ptr);
-            ccl_qual_fitem(s->ccl_bibset, value.c_str(),
-                           (const char *) ptr->name + 7);
+            if (value.length() > 0)
+            {
+                ccl_qual_fitem(s->ccl_bibset, value.c_str(),
+                               (const char *) ptr->name + 7);
+            }
         }
         else if (!strncmp((const char *) ptr->name,
                           "sortmap_", 8))
@@ -812,7 +815,8 @@ yf::Zoom::BackendPtr yf::Zoom::Frontend::get_backend_from_databases(
     int *proxy_step)
 {
     std::list<BackendPtr>::const_iterator map_it;
-    if (m_backend && m_backend->m_frontend_database == database)
+    if (m_backend && !m_backend->enable_explain && 
+        m_backend->m_frontend_database == database)
         return m_backend;
 
     std::string input_args;
@@ -1594,7 +1598,8 @@ yf::Zoom::BackendPtr yf::Zoom::Frontend::explain_search(mp::Package &package,
     {
         *error = YAZ_BIB1_UNSPECIFIED_ERROR;
         *addinfo =
-            odr_strdup(odr, "IR-Explain---1 unsupported. torus explain_xsl not defined");
+            odr_strdup(odr, "IR-Explain---1 unsupported. "
+                       "Torus explain_xsl not defined");
         return m_backend;
     }
     else if (query->which == Z_Query_type_104 &&
@@ -1615,7 +1620,7 @@ yf::Zoom::BackendPtr yf::Zoom::Frontend::explain_search(mp::Package &package,
         if (!doc)
         {
             *error = YAZ_BIB1_UNSPECIFIED_ERROR;
-            *addinfo = odr_strdup(odr, "IR-Explain--1 problem. " 
+            *addinfo = odr_strdup(odr, "IR-Explain---1 problem. " 
                                   "Could not obtain Torus records for Explain");
         }
         else
@@ -1847,12 +1852,16 @@ next_proxy:
             switch (cerror)
             {
             case CCL_ERR_UNKNOWN_QUAL:
-                error = YAZ_BIB1_UNSUPP_USE_ATTRIBUTE;
-                break;
             case CCL_ERR_TRUNC_NOT_LEFT: 
             case CCL_ERR_TRUNC_NOT_RIGHT:
             case CCL_ERR_TRUNC_NOT_BOTH:
-                error = YAZ_BIB1_UNSUPP_TRUNCATION_ATTRIBUTE;
+#ifdef CCL_ERR_TRUNC_NOT_EMBED
+            case CCL_ERR_TRUNC_NOT_EMBED:
+#endif
+#ifdef CCL_ERR_TRUNC_NOT_SINGLE
+            case CCL_ERR_TRUNC_NOT_SINGLE:
+#endif
+                error = YAZ_BIB1_UNSUPP_SEARCH;
                 break;
             }
             log_diagnostic(package, error, addinfo);