X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fquerytowrbuf.c;h=64b2ddc2def0c512431d658f9dc27d5d6ea94d29;hb=be821514c869d68186361b5aab6bbfd1aa60e087;hp=42192b13c7900c3c5f1d1bef7d953d90a598509f;hpb=401da56d4a26f687cd42024bdef6f29a29bb7663;p=yaz-moved-to-github.git diff --git a/src/querytowrbuf.c b/src/querytowrbuf.c index 42192b1..64b2ddc 100644 --- a/src/querytowrbuf.c +++ b/src/querytowrbuf.c @@ -2,7 +2,7 @@ * Copyright (C) 1995-2007, Index Data ApS * All rights reserved. * - * $Id: querytowrbuf.c,v 1.7 2007-03-19 14:40:07 adam Exp $ + * $Id: querytowrbuf.c,v 1.9 2007-04-12 13:52:57 adam Exp $ */ /** \file querytowrbuf.c @@ -14,6 +14,7 @@ #include #include +#include static void yaz_term_to_wrbuf(WRBUF b, const char *term, int len) { @@ -40,14 +41,18 @@ static void yaz_attribute_element_to_wrbuf(WRBUF b, const Z_AttributeElement *element) { int i; - char *setname=""; - char *sep = ""; /* optional space after attrset name */ + char oid_name_str[OID_STR_MAX]; + const char *setname = 0; + char *sep = " "; /* optional space after attrset name */ if (element->attributeSet) { - oident *attrset; - attrset = oid_getentbyoid (element->attributeSet); - setname = attrset->desc; - sep = " "; + setname = yaz_oid_to_string_buf(element->attributeSet, + 0, oid_name_str); + } + if (!setname) + { + setname = ""; + sep = ""; } switch (element->which) { @@ -181,14 +186,13 @@ static void yaz_rpnstructure_to_wrbuf(WRBUF b, const Z_RPNStructure *zs) void yaz_rpnquery_to_wrbuf(WRBUF b, const Z_RPNQuery *rpn) { - oident *attrset; - enum oid_value ast; - - attrset = oid_getentbyoid (rpn->attributeSetId); - if (attrset) + if (rpn->attributeSetId) { - ast = attrset->value; - wrbuf_printf(b, "@attrset %s ", attrset->desc); + char oid_name_str[OID_STR_MAX]; + const char *oid_name = yaz_oid_to_string_buf(rpn->attributeSetId, + 0, oid_name_str); + if (oid_name) + wrbuf_printf(b, "@attrset %s ", oid_name); } yaz_rpnstructure_to_wrbuf(b, rpn->RPNStructure); wrbuf_chop_right(b); @@ -221,28 +225,13 @@ void yaz_query_to_wrbuf(WRBUF b, const Z_Query *q) } void yaz_scan_to_wrbuf(WRBUF b, const Z_AttributesPlusTerm *zapt, - oid_value ast) + const int *attrbute_set) { /* should print attr set here */ wrbuf_printf(b, "RPN "); yaz_apt_to_wrbuf(b, zapt); } -/* obsolete */ -void wrbuf_scan_term(WRBUF b, const Z_AttributesPlusTerm *zapt, oid_value ast) -{ - yaz_apt_to_wrbuf(b, zapt); - wrbuf_cstr(b); -} - -/* obsolete */ -void wrbuf_put_zquery(WRBUF b, const Z_Query *q) -{ - yaz_query_to_wrbuf(b, q); - wrbuf_cstr(b); -} - - /* * Local variables: * c-basic-offset: 4