X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fyaz-z-query.cpp;h=5e8ba845b75501d7a4ad62771657a28e75c7a5ea;hb=5e3f7e1a720a08d30c407049c94c6ca825a5ed27;hp=c0bed5eee5b2d7f1e32a202d3462db6e1a2c5ac5;hpb=28588b9224eb5189af32b10f440ef2a917a05ea2;p=yazpp-moved-to-github.git diff --git a/src/yaz-z-query.cpp b/src/yaz-z-query.cpp index c0bed5e..5e8ba84 100644 --- a/src/yaz-z-query.cpp +++ b/src/yaz-z-query.cpp @@ -2,7 +2,7 @@ * Copyright (c) 1998-2003, Index Data. * See the file LICENSE for details. * - * $Id: yaz-z-query.cpp,v 1.12 2003-10-01 13:13:51 adam Exp $ + * $Id: yaz-z-query.cpp,v 1.15 2003-12-20 22:42:53 adam Exp $ */ #include @@ -17,7 +17,7 @@ Yaz_Z_Query::Yaz_Z_Query() int Yaz_Z_Query::set_rpn (const char *rpn) { - buf = 0; + m_buf = 0; odr_reset (odr_encode); Z_Query *query = (Z_Query*) odr_malloc (odr_encode, sizeof(*query)); query->which = Z_Query_type_1; @@ -27,17 +27,17 @@ int Yaz_Z_Query::set_rpn (const char *rpn) if (!z_Query (odr_encode, &query, 0, 0)) return -1; // z_Query(odr_print, &query, 0, 0); - buf = odr_getbuf (odr_encode, &len, 0); - return len; + m_buf = odr_getbuf (odr_encode, &m_len, 0); + return m_len; } void Yaz_Z_Query::set_Z_Query(Z_Query *z_query) { - buf = 0; + m_buf = 0; odr_reset (odr_encode); if (!z_Query (odr_encode, &z_query, 0, 0)) return; - buf = odr_getbuf (odr_encode, &len, 0); + m_buf = odr_getbuf (odr_encode, &m_len, 0); } Yaz_Z_Query::~Yaz_Z_Query() @@ -50,10 +50,10 @@ Yaz_Z_Query::~Yaz_Z_Query() Z_Query *Yaz_Z_Query::get_Z_Query () { Z_Query *query; - if (!buf) + if (!m_buf) return 0; odr_reset(odr_decode); - odr_setbuf(odr_decode, buf, len, 0); + odr_setbuf(odr_decode, m_buf, m_len, 0); if (!z_Query(odr_decode, &query, 0, 0)) return 0; return query; @@ -63,9 +63,9 @@ void Yaz_Z_Query::print(char *str, int len) { Z_Query *query; *str = 0; - if (!buf) + if (!m_buf) return; - odr_setbuf (odr_decode, buf, len, 0); + odr_setbuf (odr_decode, m_buf, m_len, 0); if (!z_Query(odr_decode, &query, 0, 0)) return; WRBUF wbuf = zquery2pquery(query); @@ -78,18 +78,18 @@ void Yaz_Z_Query::print(char *str, int len) } else strcpy(str, wrbuf_buf(wbuf)); + wrbuf_free(wbuf,1); } odr_reset(odr_decode); - wrbuf_free(wbuf,1); } int Yaz_Z_Query::match(Yaz_Z_Query *other) { - if (len != other->len) + if (m_len != other->m_len) return 0; - if (!buf || !other->buf) + if (!m_buf || !other->m_buf) return 0; - if (memcmp(buf, other->buf, len)) + if (memcmp(m_buf, other->m_buf, m_len)) return 0; return 1; } @@ -179,10 +179,9 @@ int Yaz_Z_Query::rpn2pquery(Z_RPNStructure *s, WRBUF buf) WRBUF Yaz_Z_Query::zquery2pquery(Z_Query *q) { - WRBUF buf = wrbuf_alloc(); - if (q->which != Z_Query_type_1 && q->which != Z_Query_type_101) return 0; + WRBUF buf = wrbuf_alloc(); if (q->u.type_1->attributeSetId) { /* Output attribute set ID */ wrbuf_puts(buf, "@attrset ");