X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Fyaz-z-query.cpp;h=9846d8495e3bb497e54bc14a2862c7ecbb42f746;hb=50f38dcd58cdf62b3380710bdd7f23d6f88c555c;hp=16c3fb483902f98dcedb6d45d54081c1cecbca32;hpb=5c45ffbb2b430a6f41277c303a5e9b94242dab96;p=yazpp-moved-to-github.git diff --git a/src/yaz-z-query.cpp b/src/yaz-z-query.cpp index 16c3fb4..9846d84 100644 --- a/src/yaz-z-query.cpp +++ b/src/yaz-z-query.cpp @@ -1,10 +1,29 @@ /* - * Copyright (c) 1998-1999, Index Data. + * Copyright (c) 1998-2000, Index Data. * See the file LICENSE for details. - * Sebastian Hammer, Adam Dickmeiss * * $Log: yaz-z-query.cpp,v $ - * Revision 1.4 1999-04-21 12:09:01 adam + * Revision 1.9 2000-10-11 11:58:17 adam + * Moved header files to include/yaz++. Switched to libtool and automake. + * Configure script creates yaz++-config script. + * + * Revision 1.8 2000/09/08 10:23:42 adam + * Added skeleton of yaz-z-server. + * + * Revision 1.7 2000/05/10 11:36:58 ian + * Added default parameters for refid to request functions. + * Added default parameter for result set name to search and present request. + * Commented out forced logging of PDU contents. + * Added send_deleteResultSetRequest + * + * Revision 1.6 1999/12/06 13:52:45 adam + * Modified for new location of YAZ header files. Experimental threaded + * operation. + * + * Revision 1.5 1999/04/27 07:52:13 adam + * Improved proxy; added query match for result set re-use. + * + * Revision 1.4 1999/04/21 12:09:01 adam * Many improvements. Modified to proxy server to work with "sessions" * based on cookies. * @@ -20,8 +39,8 @@ * */ -#include -#include +#include +#include Yaz_Z_Query::Yaz_Z_Query() { @@ -41,7 +60,7 @@ int Yaz_Z_Query::set_rpn (const char *rpn) return -1; if (!z_Query (odr_encode, &query, 0, 0)) return -1; - z_Query(odr_print, &query, 0, 0); + // z_Query(odr_print, &query, 0, 0); buf = odr_getbuf (odr_encode, &len, 0); return len; } @@ -77,3 +96,14 @@ void Yaz_Z_Query::print(char *str, int len) { } + +int Yaz_Z_Query::match(Yaz_Z_Query *other) +{ + if (len != other->len) + return 0; + if (!buf || !other->buf) + return 0; + if (memcmp(buf, other->buf, len)) + return 0; + return 1; +}