X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=src%2Fcqltransform.c;h=415a6cf81a2f14006eb928dd9adc499a0068612f;hb=4eb90d87b9374b30b8ea4f9d5e70d509a11d9a58;hp=ff42293f5df2ad88ca9ebf63a61a039386c8bcda;hpb=7d640b3f9eeb46ab57958aa21b63f26271162ee7;p=yaz-moved-to-github.git diff --git a/src/cqltransform.c b/src/cqltransform.c index ff42293..415a6cf 100644 --- a/src/cqltransform.c +++ b/src/cqltransform.c @@ -191,9 +191,8 @@ static int cql_transform_parse_tok_line(cql_transform_t ct, { ODR pr = odr_createmem(ODR_PRINT); Z_AttributeList *alp = &(*pp)->attr_list; - odr_setprint(pr, yaz_log_file()); + odr_setprint_noclose(pr, yaz_log_file()); z_AttributeList(pr, &alp, 0, 0); - odr_setprint(pr, 0); odr_destroy(pr); } } @@ -340,9 +339,13 @@ const char *cql_lookup_reverse(cql_transform_t ct, for (j = 0; j < attributes->num_attributes; j++) { /* actual attribute */ - Z_AttributeElement *a_ae = attributes->attributes[j]; - int r = compare_attr(e_ae, a_ae); - if (r == 0) + Z_AttributeElement a_ae = *attributes->attributes[j]; + if (!compare_attr(e_ae, &a_ae)) + break; + if (a_ae.attributeSet && &e_ae->attributeSet && + !oid_oidcmp(a_ae.attributeSet, yaz_oid_attset_bib_1)) + a_ae.attributeSet = 0; + if (!compare_attr(e_ae, &a_ae)) break; } if (j == attributes->num_attributes)