Ensure Bib-1 diagnostic is mapped to SRW diagnostic for bend_init
[yaz-moved-to-github.git] / src / seshigh.c
index 75f2e73..6c8d071 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (C) 1995-2005, Index Data ApS
  * See the file LICENSE for details.
  *
- * $Id: seshigh.c,v 1.70 2006-03-15 14:12:26 marc Exp $
+ * $Id: seshigh.c,v 1.72 2006-03-16 12:30:03 adam Exp $
  */
 /**
  * \file seshigh.c
@@ -517,8 +517,9 @@ static int srw_bend_init(association *assoc, Z_SRW_diagnostic **d, int *num)
         assoc->backend = binitres->handle;
         if (binitres->errcode)
         {
+            int srw_code = yaz_diag_bib1_to_srw(binitres->errcode);
             assoc->state = ASSOC_DEAD;
-            yaz_add_srw_diagnostic(assoc->encode, d, num, binitres->errcode,
+            yaz_add_srw_diagnostic(assoc->encode, d, num, srw_code,
                                    binitres->errstring);
             return 0;
         }
@@ -1593,6 +1594,10 @@ static void process_http_request(association *assoc, request *req)
             if (!stylesheet)
                 stylesheet = assoc->stylesheet;
 
+            /* empty stylesheet means NO stylesheet */
+            if (stylesheet && *stylesheet == '\0')
+                stylesheet = 0;
+
             ret = z_soap_codec_enc_xsl(assoc->encode, &soap_package,
                                        &hres->content_buf, &hres->content_len,
                                        soap_handlers, charset, stylesheet);
@@ -2067,7 +2072,7 @@ static Z_APDU *process_initRequest(association *assoc, request *reqb)
                 assoc->init->implementation_name,
                 odr_prepend(assoc->encode, "GFS", resp->implementationName));
 
-    version = odr_strdup(assoc->encode, "$Revision: 1.70 $");
+    version = odr_strdup(assoc->encode, "$Revision: 1.72 $");
     if (strlen(version) > 10)   /* check for unexpanded CVS strings */
         version[strlen(version)-2] = '\0';
     resp->implementationVersion = odr_prepend(assoc->encode,