/* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2012 Index Data
+ * Copyright (C) Index Data
* See the file LICENSE for details.
*/
/**
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;
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 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;
Z_Term *z_Term_create(ODR o, int term_type, const char *buf, size_t len)
{
Z_Term *term = (Z_Term *)odr_malloc(o, sizeof(*term));
- Odr_oct *term_octet = (Odr_oct *)odr_malloc(o, sizeof(*term_octet));
- term_octet->buf = (unsigned char *)odr_malloc(o, 1 + len);
- 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:
term->which = Z_Term_general;
- term->u.general = term_octet;
+ term->u.general = odr_create_Odr_oct(o, buf, len);
break;
case Z_Term_characterString:
term->which = Z_Term_characterString;
- term->u.characterString = (char*) term_octet->buf;
- /* null terminated above */
+ term->u.characterString = odr_strdupn(o, buf, len);
break;
case Z_Term_numeric:
term->which = Z_Term_numeric;
- term->u.numeric = odr_intdup(o, odr_atoi((const char*) term_octet->buf));
+ term->u.numeric = odr_intdup(o, odr_atoi(odr_strdupn(o, buf, len)));
break;
case Z_Term_null:
term->which = Z_Term_null;
return 0;
}
zo->which = Z_Operand_resultSetId;
- zo->u.resultSetId = (char *)odr_malloc(o, li->lex_len+1);
- memcpy(zo->u.resultSetId, li->lex_buf, li->lex_len);
- zo->u.resultSetId[li->lex_len] = '\0';
+ zo->u.resultSetId = odr_strdupn(o, li->lex_buf, li->lex_len);
lex(li);
break;
default: