+Added assignment operator for class Yaz_Z_Query.
+
--- 1.0.0 2006/05/01
On Windows, DEBUG=1 produces yazppd.{lib,dll}. DEBUG=0 producess
dnl YAZ++ Toolkit, Index Data 1994-2006
dnl See the file LICENSE for details.
-dnl $Id: configure.ac,v 1.7 2006-06-02 10:57:55 adam Exp $
+dnl $Id: configure.ac,v 1.8 2006-06-19 13:12:04 adam Exp $
AC_PREREQ(2.59)
-AC_INIT([yazpp],[1.0.0],[adam@indexdata.dk])
+AC_INIT([yazpp],[1.0.1],[adam@indexdata.dk])
AC_CONFIG_SRCDIR(configure.ac)
AC_CONFIG_AUX_DIR([config])
AM_INIT_AUTOMAKE([1.8])
dh_fixperms
# dh_perl
# dh_python
- dh_makeshlibs -V 'libyazpp1 (>= 1.0.0)'
+ dh_makeshlibs -V 'libyazpp1 (>= 1.0.1)'
dh_installdeb
dh_shlibdeps -l debian/libyazpp1/usr/lib
dh_gencontrol
* Copyright (c) 1998-2005, Index Data.
* See the file LICENSE for details.
*
- * $Id: z-query.h,v 1.1 2006-03-29 13:14:15 adam Exp $
+ * $Id: z-query.h,v 1.2 2006-06-19 13:12:06 adam Exp $
*/
#ifndef YAZPP_Z_QUERY_INCLUDED
*/
class YAZ_EXPORT Yaz_Z_Query : public Yaz_Query {
public:
- /// Make Query from rpn string
+ /// Construct query
Yaz_Z_Query();
+ /// Copy construct
+ Yaz_Z_Query(const Yaz_Z_Query &q);
/// Delete Query
virtual ~Yaz_Z_Query();
/// Set RPN
/// print query
void print(char *str, int len);
/// match query
- int match(Yaz_Z_Query *other);
+ int match(const Yaz_Z_Query *other);
/// Copy
Yaz_Z_Query &operator=(const Yaz_Z_Query &);
/// Assign RPN string to it
* Copyright (c) 1998-2005, Index Data.
* See the file LICENSE for details.
*
- * $Id: yaz-z-query.cpp,v 1.19 2006-03-29 13:14:18 adam Exp $
+ * $Id: yaz-z-query.cpp,v 1.20 2006-06-19 13:12:07 adam Exp $
*/
#include <yaz/logrpn.h>
#include <yazpp/z-query.h>
#include <yaz/pquery.h>
+#include <assert.h>
using namespace yazpp_1;
odr_print = odr_createmem(ODR_PRINT);
}
-Yaz_Z_Query& Yaz_Z_Query::operator=(const Yaz_Z_Query &p)
+
+Yaz_Z_Query::Yaz_Z_Query(const Yaz_Z_Query &q)
+{
+ odr_encode = odr_createmem(ODR_ENCODE);
+ odr_decode = odr_createmem(ODR_DECODE);
+ odr_print = odr_createmem(ODR_PRINT);
+
+ m_len = q.m_len;
+ m_buf = (char*) odr_malloc(odr_encode, m_len);
+ memcpy(m_buf, q.m_buf, m_len);
+}
+
+Yaz_Z_Query& Yaz_Z_Query::operator=(const Yaz_Z_Query &q)
{
- if (this != &p)
+ if (this != &q)
{
odr_reset(odr_encode);
- if (!p.m_buf)
+ if (!q.m_buf)
{
m_buf = 0;
m_len = 0;
}
else
{
- m_len = p.m_len;
+ m_len = q.m_len;
m_buf = (char*) odr_malloc(odr_encode, m_len);
- memcpy(m_buf, p.m_buf, m_len);
+ memcpy(m_buf, q.m_buf, m_len);
}
}
return *this;
odr_reset(odr_decode);
}
-int Yaz_Z_Query::match(Yaz_Z_Query *other)
+int Yaz_Z_Query::match(const Yaz_Z_Query *other)
{
if (m_len != other->m_len)
return 0;