* 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
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);
}
/*
- * 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.
*
args(&proxy, argc, argv);
while (mySocketManager.processEvent() > 0)
;
+ exit (0);
return 0;
}
* 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
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;