/* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2011 Index Data
+ * Copyright (C) 1995-2012 Index Data
* See the file LICENSE for details.
*/
/**
};
static Z_RPNStructure *rpn_structure(struct yaz_pqf_parser *li, ODR o,
- int num_attr, int max_attr,
+ int num_attr, int max_attr,
Odr_int *attr_list, char **attr_clist,
Odr_oid **attr_set);
size_t off)
{
size_t len=strlen(src);
-
+
if (li->lex_len == len+off && !memcmp(li->lex_buf+off, src, len-off))
return 1;
return 0;
++(*qptr);
}
li->lex_buf = *qptr;
-
+
if (**qptr == li->escape_char && yaz_isdigit((*qptr)[1]))
{
++(li->lex_len);
}
while (**qptr && **qptr != sep_char)
{
- if (**qptr == '\\')
+ if (**qptr == '\\' && (*qptr)[1])
{
++(li->lex_len);
++(*qptr);
return li->query_look = query_token(li);
}
-int escape_string(char *out_buf, const char *in, int len)
+static int escape_string(char *out_buf, const char *in, int len)
{
char *out = out_buf;
char s[4];
int n = 0;
s[0] = *in;
- s[1] = *++in;
+ s[1] = *++in;
s[2] = *++in;
s[3] = '\0';
len = len - 2;
return out - out_buf;
}
-int p_query_parse_attr(struct yaz_pqf_parser *li, ODR o,
+static int p_query_parse_attr(struct yaz_pqf_parser *li, ODR o,
int num_attr, Odr_int *attr_list,
char **attr_clist, Odr_oid **attr_set)
{
return 0;
}
}
- else
+ else
{
if (num_attr > 0)
attr_set[num_attr] = attr_set[num_attr-1];
return 1;
}
-Z_AttributeList *get_attributeList(ODR o, int num_attr, Odr_int *attr_list,
- char **attr_clist, Odr_oid **attr_set)
+static Z_AttributeList *get_attributeList(ODR o,
+ int num_attr, Odr_int *attr_list,
+ char **attr_clist, Odr_oid **attr_set)
{
int i, k = 0;
Odr_int *attr_tmp;
return attributes;
}
elements = (Z_AttributeElement**)
- odr_malloc (o, num_attr * sizeof(*elements));
+ odr_malloc(o, num_attr * sizeof(*elements));
attr_tmp = (Odr_int *)odr_malloc(o, num_attr * 2 * sizeof(*attr_tmp));
memcpy(attr_tmp, attr_list, num_attr * 2 * sizeof(*attr_tmp));
memcpy(term_octet->buf, buf, len);
term_octet->size = term_octet->len = len;
term_octet->buf[term_octet->size] = 0; /* null terminate */
-
+
switch (term_type)
{
case Z_Term_general:
break;
case Z_Term_characterString:
term->which = Z_Term_characterString;
- term->u.characterString = (char*) term_octet->buf;
+ term->u.characterString = (char*) term_octet->buf;
/* null terminated above */
break;
case Z_Term_numeric:
li->error = YAZ_PQF_ERROR_PROXIMITY;
return NULL;
}
-
+
if (!lex (li))
{
li->error = YAZ_PQF_ERROR_MISSING;
}
static Z_Complex *rpn_complex(struct yaz_pqf_parser *li, ODR o,
- int num_attr, int max_attr,
+ int num_attr, int max_attr,
Odr_int *attr_list, char **attr_clist,
Odr_oid **attr_set)
{
#endif
lex(li);
}
-
+
static Z_RPNStructure *rpn_structure(struct yaz_pqf_parser *li, ODR o,
- int num_attr, int max_attr,
+ int num_attr, int max_attr,
Odr_int *attr_list,
char **attr_clist,
Odr_oid **attr_set)
facet_field->terms[facet_field->num_terms] =
(Z_FacetTerm *) odr_malloc(odr, sizeof(Z_FacetTerm));
facet_field->terms[facet_field->num_terms]->term = term;
- facet_field->terms[facet_field->num_terms]->count =
+ facet_field->terms[facet_field->num_terms]->count =
odr_intdup(odr, 0);
facet_field->num_terms++;
}