From 4b042ccab852026e35f59e06f4e300a2d8db0793 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Tue, 30 Mar 2004 09:05:53 +0000 Subject: [PATCH] Ensure proxy can cope without libxslt --- include/yaz++/proxy/proxy.h | 6 +++++- proxy/yaz-proxy.cpp | 16 ++++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/include/yaz++/proxy/proxy.h b/include/yaz++/proxy/proxy.h index 13e33a5..06b33e4 100644 --- a/include/yaz++/proxy/proxy.h +++ b/include/yaz++/proxy/proxy.h @@ -1,4 +1,4 @@ -/* $Id: proxy.h,v 1.1 2004-03-29 22:46:50 adam Exp $ +/* $Id: proxy.h,v 1.2 2004-03-30 09:05:53 adam Exp $ Copyright (c) 1998-2004, Index Data. This file is part of the yaz-proxy. @@ -235,7 +235,11 @@ class YAZ_EXPORT Yaz_Proxy : public Yaz_Z_Assoc { int m_request_no; int m_invalid_session; int m_marcxml_flag; +#if HAVE_XSLT xsltStylesheetPtr m_stylesheet_xsp; +#else + void *m_stylesheet_xsp; +#endif int m_stylesheet_offset; Z_APDU *m_stylesheet_apdu; Z_NamePlusRecordList *m_stylesheet_nprl; diff --git a/proxy/yaz-proxy.cpp b/proxy/yaz-proxy.cpp index 82cd41e..8f1a715 100644 --- a/proxy/yaz-proxy.cpp +++ b/proxy/yaz-proxy.cpp @@ -1,4 +1,4 @@ -/* $Id: yaz-proxy.cpp,v 1.1 2004-03-29 22:46:51 adam Exp $ +/* $Id: yaz-proxy.cpp,v 1.2 2004-03-30 09:05:54 adam Exp $ Copyright (c) 1998-2004, Index Data. This file is part of the yaz-proxy. @@ -162,9 +162,10 @@ Yaz_Proxy::~Yaz_Proxy() xfree (m_proxy_authentication); xfree (m_optimize); +#if HAVE_XSLT if (m_stylesheet_xsp) xsltFreeStylesheet(m_stylesheet_xsp); - +#endif xfree (m_schema); if (m_s2z_odr_init) odr_destroy(m_s2z_odr_init); @@ -354,7 +355,7 @@ Yaz_ProxyClient *Yaz_Proxy::get_client(Z_APDU *apdu, const char *cookie, Yaz_ProxyConfig *cfg = check_reconfigure(); if (proxy_host) { -#if 1 +#if 0 /* only to be enabled for debugging... */ if (!strcmp(proxy_host, "stop")) exit(0); @@ -648,6 +649,7 @@ int Yaz_Proxy::convert_xsl(Z_NamePlusRecordList *p, Z_APDU *apdu) void Yaz_Proxy::convert_xsl_delay() { Z_NamePlusRecord *npr = m_stylesheet_nprl->records[m_stylesheet_offset]; +#if HAVE_XSLT if (npr->which == Z_NamePlusRecord_databaseRecord) { Z_External *r = npr->u.databaseRecord; @@ -682,12 +684,15 @@ void Yaz_Proxy::convert_xsl_delay() xmlFreeDoc(doc); } } +#endif m_stylesheet_offset++; if (m_stylesheet_offset == m_stylesheet_nprl->num_records) { m_stylesheet_nprl = 0; +#if HAVE_XSLT if (m_stylesheet_xsp) xsltFreeStylesheet(m_stylesheet_xsp); +#endif m_stylesheet_xsp = 0; timeout(m_client_idletime); send_PDU_convert(m_stylesheet_apdu); @@ -1569,11 +1574,12 @@ Z_APDU *Yaz_Proxy::handle_syntax_validation(Z_APDU *apdu) { m_parent->low_socket_close(); +#if HAVE_XSLT if (m_stylesheet_xsp) xsltFreeStylesheet(m_stylesheet_xsp); - m_stylesheet_xsp = xsltParseStylesheetFile((const xmlChar*) stylesheet_name); +#endif m_stylesheet_offset = 0; xfree(stylesheet_name); @@ -1616,11 +1622,13 @@ Z_APDU *Yaz_Proxy::handle_syntax_validation(Z_APDU *apdu) { m_parent->low_socket_close(); +#if HAVE_XSLT if (m_stylesheet_xsp) xsltFreeStylesheet(m_stylesheet_xsp); m_stylesheet_xsp = xsltParseStylesheetFile((const xmlChar*) stylesheet_name); +#endif m_stylesheet_offset = 0; xfree(stylesheet_name); -- 1.7.10.4