X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fcqltransform.c;h=5cb26cb178d42388ba535e6e71dd7f422987d31f;hb=db93359f0cbf9a1e9dc81ea05f7b8662f843ae3d;hp=133db946baeb2d465f676e2d461dc71a8c3d188c;hpb=66ab37e39c6f32575526ffa2347ededb7ebf7bd0;p=yaz-moved-to-github.git diff --git a/src/cqltransform.c b/src/cqltransform.c index 133db94..5cb26cb 100644 --- a/src/cqltransform.c +++ b/src/cqltransform.c @@ -1,5 +1,5 @@ -/* $Id: cqltransform.c,v 1.25 2006-10-25 09:58:19 adam Exp $ - Copyright (C) 1995-2005, Index Data ApS +/* $Id: cqltransform.c,v 1.27 2007-02-07 13:36:58 adam Exp $ + Copyright (C) 1995-2007, Index Data ApS Index Data Aps This file is part of the YAZ toolkit. @@ -195,6 +195,7 @@ int cql_pr_attr_uri(cql_transform_t ct, const char *category, const char *cp0 = res, *cp1; while ((cp1 = strchr(cp0, '='))) { + int i; while (*cp1 && *cp1 != ' ') cp1++; if (cp1 - cp0 >= sizeof(buf)) @@ -202,7 +203,19 @@ int cql_pr_attr_uri(cql_transform_t ct, const char *category, memcpy (buf, cp0, cp1 - cp0); buf[cp1-cp0] = 0; (*pr)("@attr ", client_data); - (*pr)(buf, client_data); + + for (i = 0; buf[i]; i++) + { + if (buf[i] == '*') + (*pr)(eval, client_data); + else + { + char tmp[2]; + tmp[0] = buf[i]; + tmp[1] = '\0'; + (*pr)(tmp, client_data); + } + } (*pr)(" ", client_data); cp0 = cp1; while (*cp0 == ' ')