X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=src%2Fcqltransform.c;h=aaf83032d0e4dd419693b12a6be4f8da973fad4c;hb=185028bccf8a5e6635fc5ef8f1f737c798e29c2a;hp=5cca9a6b0c02bfc531d5a919181a421abf643c14;hpb=f53079fadcadb1eeef45e1e6d254801d984d6068;p=yaz-moved-to-github.git diff --git a/src/cqltransform.c b/src/cqltransform.c index 5cca9a6..aaf8303 100644 --- a/src/cqltransform.c +++ b/src/cqltransform.c @@ -1,5 +1,5 @@ -/* $Id: cqltransform.c,v 1.11 2004-10-03 22:34:07 adam Exp $ - Copyright (C) 2002-2004 +/* $Id: cqltransform.c,v 1.14 2005-06-23 15:03:40 adam Exp $ + Copyright (C) 1995-2005, Index Data ApS Index Data Aps This file is part of the YAZ toolkit. @@ -419,7 +419,7 @@ void cql_transform_r(cql_transform_t ct, struct cql_node *mod = cn->u.st.modifiers; for (; mod; mod = mod->u.st.modifiers) { - cql_pr_attr(ct, "relationModifier", mod->u.st.term, 0, + cql_pr_attr(ct, "relationModifier", mod->u.st.index, 0, pr, client_data, 20); } } @@ -455,6 +455,7 @@ int cql_transform(cql_transform_t ct, void *client_data) { struct cql_prop_entry *e; + NMEM nmem = nmem_create(); ct->error = 0; if (ct->addinfo) @@ -464,11 +465,12 @@ int cql_transform(cql_transform_t ct, for (e = ct->entry; e ; e = e->next) { if (!memcmp(e->pattern, "set.", 4)) - cql_apply_prefix(cn, e->pattern+4, e->value); + cql_apply_prefix(nmem, cn, e->pattern+4, e->value); else if (!strcmp(e->pattern, "set")) - cql_apply_prefix(cn, 0, e->value); + cql_apply_prefix(nmem, cn, 0, e->value); } cql_transform_r (ct, cn, pr, client_data); + nmem_destroy(nmem); return ct->error; }