-/* $Id: cqltransform.c,v 1.9 2004-05-25 14:06:15 adam Exp $
+/* $Id: cqltransform.c,v 1.11 2004-10-03 22:34:07 adam Exp $
Copyright (C) 2002-2004
Index Data Aps
See the file LICENSE.
*/
+/**
+ * \file cqltransform.c
+ * \brief Implements CQL transform (CQL to RPN conversion).
+ */
+
#include <stdlib.h>
#include <string.h>
#include <yaz/cql.h>
* characters starting at `term', or a null pointer of there are
* none -- like memchr().
*/
-static char *wcchar(const char *term, int length)
+static const char *wcchar(const char *term, int length)
{
- char *best = 0;
- char *current;
+ const char *best = 0;
+ const char *current;
char *whichp;
for (whichp = "*?"; *whichp != '\0'; whichp++) {
- current = memchr(term, *whichp, length);
+ current = (const char *) memchr(term, *whichp, length);
if (current != 0 && (best == 0 || current < best))
best = current;
}
char *mem;
cql_pr_attr(ct, "truncation", "z3958", 0,
pr, client_data, 28);
- mem = xmalloc(length+1);
+ mem = (char *) xmalloc(length+1);
for (i = 0; i < length; i++) {
if (term[i] == '*') mem[i] = '?';
else if (term[i] == '?') mem[i] = '#';