projects
/
yazpp-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Clean up. Manifest
[yazpp-moved-to-github.git]
/
src
/
yaz-z-query.cpp
diff --git
a/src/yaz-z-query.cpp
b/src/yaz-z-query.cpp
index
f149b38
..
d5be573
100644
(file)
--- a/
src/yaz-z-query.cpp
+++ b/
src/yaz-z-query.cpp
@@
-1,11
+1,11
@@
/*
/*
- * Copyright (c) 1998-2005, Index Data.
+ * Copyright (c) 1998-2007, Index Data.
* See the file LICENSE for details.
*
* See the file LICENSE for details.
*
- * $Id: yaz-z-query.cpp,v 1.20 2006-06-19 13:12:07 adam Exp $
+ * $Id: yaz-z-query.cpp,v 1.22 2007-04-12 15:00:33 adam Exp $
*/
*/
-#include <yaz/logrpn.h>
+#include <yaz/querytowrbuf.h>
#include <yazpp/z-query.h>
#include <yaz/pquery.h>
#include <assert.h>
#include <yazpp/z-query.h>
#include <yaz/pquery.h>
#include <assert.h>
@@
-63,7
+63,7
@@
int Yaz_Z_Query::set_rpn(const char *rpn)
odr_reset(odr_encode);
Z_Query *query = (Z_Query*) odr_malloc(odr_encode, sizeof(*query));
query->which = Z_Query_type_1;
odr_reset(odr_encode);
Z_Query *query = (Z_Query*) odr_malloc(odr_encode, sizeof(*query));
query->which = Z_Query_type_1;
- query->u.type_1 = p_query_rpn(odr_encode, PROTO_Z3950, rpn);
+ query->u.type_1 = p_query_rpn(odr_encode, rpn);
if (!query->u.type_1)
return -1;
if (!z_Query(odr_encode, &query, 0, 0))
if (!query->u.type_1)
return -1;
if (!z_Query(odr_encode, &query, 0, 0))
@@
-101,7
+101,7
@@
Z_Query *Yaz_Z_Query::get_Z_Query()
return query;
}
return query;
}
-void Yaz_Z_Query::print(char *str, int len)
+void Yaz_Z_Query::print(char *str, size_t len)
{
Z_Query *query;
*str = 0;
{
Z_Query *query;
*str = 0;
@@
-110,18
+110,16
@@
void Yaz_Z_Query::print(char *str, int len)
odr_setbuf(odr_decode, m_buf, m_len, 0);
if (!z_Query(odr_decode, &query, 0, 0))
return;
odr_setbuf(odr_decode, m_buf, m_len, 0);
if (!z_Query(odr_decode, &query, 0, 0))
return;
- WRBUF wbuf = zquery2pquery(query);
- if (wbuf)
+ WRBUF wbuf = wrbuf_alloc();
+ yaz_query_to_wrbuf(wbuf, query);
+ if (wrbuf_len(wbuf) > len-1)
{
{
- if (wrbuf_len(wbuf) > len-1)
- {
- memcpy(str, wrbuf_buf(wbuf), len-1);
- str[len-1] = '\0';
- }
- else
- strcpy(str, wrbuf_buf(wbuf));
- wrbuf_free(wbuf,1);
+ memcpy(str, wrbuf_buf(wbuf), len-1);
+ str[len-1] = '\0';
}
}
+ else
+ strcpy(str, wrbuf_cstr(wbuf));
+ wrbuf_destroy(wbuf);
odr_reset(odr_decode);
}
odr_reset(odr_decode);
}
@@
-136,13
+134,6
@@
int Yaz_Z_Query::match(const Yaz_Z_Query *other)
return 1;
}
return 1;
}
-WRBUF Yaz_Z_Query::zquery2pquery(Z_Query *q)
-{
- WRBUF w = wrbuf_alloc();
- wrbuf_put_zquery(w, q);
- return w;
-}
-
/*
* Local variables:
* c-basic-offset: 4
/*
* Local variables:
* c-basic-offset: 4