X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fcqltransform.c;h=29ff07ad5a0541c17c8a655702bd06386bf96528;hp=6ceeb634db3e6afca7b99c32e6978616cb8b7688;hb=4c176312acdc3444c9afc820f76a393e64668e52;hpb=dd7de5f04a0de631f98ad9c4774f2111a85388e5 diff --git a/src/cqltransform.c b/src/cqltransform.c index 6ceeb63..29ff07a 100644 --- a/src/cqltransform.c +++ b/src/cqltransform.c @@ -1,5 +1,5 @@ -/* $Id: cqltransform.c,v 1.10 2004-10-02 13:28:26 adam Exp $ - Copyright (C) 2002-2004 +/* $Id: cqltransform.c,v 1.13 2005-01-15 19:47:11 adam Exp $ + Copyright (C) 1995-2005, Index Data ApS Index Data Aps This file is part of the YAZ toolkit. @@ -7,6 +7,11 @@ This file is part of the YAZ toolkit. See the file LICENSE. */ +/** + * \file cqltransform.c + * \brief Implements CQL transform (CQL to RPN conversion). + */ + #include #include #include @@ -450,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) @@ -459,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; }