Fixed problem where proxy could cash bad result sets.
[yazpp-moved-to-github.git] / src / yaz-my-client.cpp
index 5ac5307..ec970ad 100644 (file)
@@ -3,7 +3,16 @@
  * See the file LICENSE for details.
  * 
  * $Log: yaz-my-client.cpp,v $
- * Revision 1.2  2001-04-04 14:02:49  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
+ * Removed ursula dependancy.
+ *
+ * Revision 1.2  2001/04/04 14:02:49  adam
  * URSULA / Z-ruth service.
  *
  * Revision 1.1  2001/03/27 14:47:45  adam
 #include <yaz++/yaz-ir-assoc.h>
 #include <yaz++/yaz-pdu-assoc.h>
 #include <yaz++/yaz-socket-manager.h>
+
+#if HAVE_YAZ_URSULA_H
 #include <yaz/zes-ursula.h>
+#endif
 
 extern "C" {
 #if HAVE_READLINE_READLINE_H
@@ -129,7 +141,9 @@ public:
     int cmd_init(char *args);
     int cmd_format(char *args);
     int cmd_proxy(char *args);
+#if HAVE_YAZ_URSULA_H
     int cmd_ursula(char *args);
+#endif
 };
 
 
@@ -413,7 +427,7 @@ void MyClient::recv_record(Z_DatabaseRecord *record, int offset,
        case VAL_SIGLEMARC:
        case VAL_ISDSMARC:
        case VAL_RUSMARC:
-           marc_display((char*) record->u.octet_aligned->buf,stdout);
+           marc_display((char*) record->u.octet_aligned->buf,0);
            break;
        default:
            recv_textRecord((int) ent->value,
@@ -485,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);
 }
 
@@ -598,6 +614,7 @@ int MyClient::cmd_proxy(char *args)
     return 1;
 }
 
+#if HAVE_YAZ_URSULA_H
 int MyClient::cmd_ursula(char *args)
 {
     Z_APDU *apdu = create_Z_PDU(Z_APDU_extendedServicesRequest);
@@ -647,6 +664,7 @@ int MyClient::cmd_ursula(char *args)
        wait();
     return 1;
 }
+#endif
 
 int MyClient::processCommand(const char *commandLine)
 {
@@ -668,7 +686,9 @@ int MyClient::processCommand(const char *commandLine)
        {"init", &MyClient::cmd_init, ""},
        {"format", &MyClient::cmd_format, "<record-syntax>"},
        {"proxy", &MyClient::cmd_proxy, "<host>:[':'<port>]"},
+#if HAVE_YAZ_URSULA_H
        {"ursula", &MyClient::cmd_ursula, ""},
+#endif
        {0,0,0}
     };