From: Adam Dickmeiss Date: Tue, 10 Apr 2001 10:48:08 +0000 (+0000) Subject: Fixed problem where proxy could cash bad result sets. X-Git-Tag: YAZPP.0.3~43 X-Git-Url: http://git.indexdata.com/?p=yazpp-moved-to-github.git;a=commitdiff_plain;h=7a9cf0a84f1169b52469f736be7e98e7440eeff4 Fixed problem where proxy could cash bad result sets. --- diff --git a/src/yaz-my-client.cpp b/src/yaz-my-client.cpp index 48e0aad..ec970ad 100644 --- a/src/yaz-my-client.cpp +++ b/src/yaz-my-client.cpp @@ -3,7 +3,10 @@ * See the file LICENSE for details. * * $Log: yaz-my-client.cpp,v $ - * Revision 1.4 2001-04-05 15:12:24 adam + * Revision 1.5 2001-04-10 10:48:08 adam + * Fixed problem where proxy could cash bad result sets. + * + * Revision 1.4 2001/04/05 15:12:24 adam * WIN32 updates. * * Revision 1.3 2001/04/05 13:09:44 adam @@ -496,10 +499,12 @@ void MyClient::recv_searchResponse(Z_SearchResponse *searchResponse) if (!*searchResponse->searchStatus) { printf ("Fail\n"); - return; } - printf ("Ok\n"); - printf ("Hits: %d\n", *searchResponse->resultCount); + else + { + printf ("Ok\n"); + printf ("Hits: %d\n", *searchResponse->resultCount); + } recv_records (searchResponse->records); } diff --git a/src/yaz-proxy-main.cpp b/src/yaz-proxy-main.cpp index b4be150..f6abc77 100644 --- a/src/yaz-proxy-main.cpp +++ b/src/yaz-proxy-main.cpp @@ -1,9 +1,12 @@ /* - * Copyright (c) 1998-2000, Index Data. + * Copyright (c) 1998-2001, Index Data. * See the file LICENSE for details. * * $Log: yaz-proxy-main.cpp,v $ - * Revision 1.12 2000-10-11 11:58:16 adam + * Revision 1.13 2001-04-10 10:48:08 adam + * Fixed problem where proxy could cash bad result sets. + * + * Revision 1.12 2000/10/11 11:58:16 adam * Moved header files to include/yaz++. Switched to libtool and automake. * Configure script creates yaz++-config script. * @@ -115,5 +118,6 @@ int main(int argc, char **argv) args(&proxy, argc, argv); while (mySocketManager.processEvent() > 0) ; + exit (0); return 0; } diff --git a/src/yaz-proxy.cpp b/src/yaz-proxy.cpp index 988eb91..8609021 100644 --- a/src/yaz-proxy.cpp +++ b/src/yaz-proxy.cpp @@ -3,7 +3,10 @@ * See the file LICENSE for details. * * $Log: yaz-proxy.cpp,v $ - * Revision 1.23 2001-03-26 14:43:49 adam + * Revision 1.24 2001-04-10 10:48:08 adam + * Fixed problem where proxy could cash bad result sets. + * + * Revision 1.23 2001/03/26 14:43:49 adam * New threaded PDU association. * * Revision 1.22 2000/11/20 11:27:33 adam @@ -535,7 +538,17 @@ void Yaz_ProxyClient::recv_Z_PDU(Z_APDU *apdu) m_waiting = 0; logf (LOG_LOG, "Yaz_ProxyClient::recv_Z_PDU %s", get_hostname()); if (apdu->which == Z_APDU_searchResponse) + { m_last_resultCount = *apdu->u.searchResponse->resultCount; + int status = *apdu->u.searchResponse->searchStatus; + if (! status || ( + apdu->u.searchResponse->records && + apdu->u.searchResponse->records->which != Z_Records_DBOSD)) + { + delete m_last_query; + m_last_query = 0; + } + } if (apdu->which == Z_APDU_presentResponse && m_sr_transform) { m_sr_transform = 0;