void *client_data)
{
int exclusion = 0;
- int distance; /* to be filled in later depending on unit */
- int distance_defined = 0;
+ int distance = -1;
int ordered = 0;
int proxrel = 2; /* less than or equal */
int unit = 2; /* word */
if (!strcmp(name, "distance")) {
distance = strtol(term, (char**) 0, 0);
- distance_defined = 1;
if (!strcmp(relation, "="))
proxrel = 3;
else if (!strcmp(relation, ">"))
mods = mods->u.st.modifiers;
}
- if (!distance_defined)
+ if (distance == -1)
distance = (unit == 2) ? 1 : 0;
cql_pr_int(exclusion, pr, client_data);
{
int i;
const char *ns = cn->u.st.index_uri;
- int process_term = !has_modifier(cn, "regexp");
int z3958_mode = 0;
+ int process_term = 1;
+ if (has_modifier(cn, "regexp"))
+ process_term = 0;
+ else if (cql_lookup_property(ct, "truncation", 0, "cql"))
+ {
+ process_term = 0;
+ cql_pr_attr(ct, "truncation", "cql", 0,
+ pr, client_data, YAZ_SRW_MASKING_CHAR_UNSUPP);
+ }
assert(cn->which == CQL_NODE_ST);
if (process_term && length > 0)