X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fcqltransform.c;h=55c336649aa7e316ad54ccfac26e47c54f3e9b43;hb=dfeb387a4744dd3c7ed9df15b3306ae6c35fa22e;hp=dbdd8aad59794820180698fb60577c6ed11f8c2b;hpb=8e9d2cec97def1cd8b89b1fe427f1a232661ec6f;p=yaz-moved-to-github.git diff --git a/src/cqltransform.c b/src/cqltransform.c index dbdd8aa..55c3366 100644 --- a/src/cqltransform.c +++ b/src/cqltransform.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2008 Index Data + * Copyright (C) 1995-2010 Index Data * See the file LICENSE for details. */ @@ -22,12 +22,13 @@ #include #include #include -#include +#include #include #include #include #include #include +#include #include #include @@ -78,7 +79,7 @@ static int cql_transform_parse_tok_line(cql_transform_t ct, const char *value_str = 0; /* attset type=value OR type=value */ - elem = nmem_malloc(ct->nmem, sizeof(*elem)); + elem = (Z_AttributeElement *) nmem_malloc(ct->nmem, sizeof(*elem)); elem->attributeSet = 0; ae[ae_num] = elem; wrbuf_puts(ct->w, yaz_tok_parse_string(tp)); @@ -106,7 +107,7 @@ static int cql_transform_parse_tok_line(cql_transform_t ct, t = yaz_tok_move(tp); } elem->attributeType = nmem_intdup(ct->nmem, 0); - if (sscanf(wrbuf_cstr(type_str), "%d", elem->attributeType) + if (sscanf(wrbuf_cstr(type_str), ODR_INT_PRINTF, elem->attributeType) != 1) { wrbuf_destroy(type_str); @@ -143,7 +144,8 @@ static int cql_transform_parse_tok_line(cql_transform_t ct, } else { - Z_ComplexAttribute *ca = nmem_malloc(ct->nmem, sizeof(*ca)); + Z_ComplexAttribute *ca = (Z_ComplexAttribute *) + nmem_malloc(ct->nmem, sizeof(*ca)); elem->which = Z_AttributeValue_complex; elem->value.complex = ca; ca->num_list = 1; @@ -176,7 +178,7 @@ static int cql_transform_parse_tok_line(cql_transform_t ct, (*pp)->attr_list.attributes = 0; else { - (*pp)->attr_list.attributes = + (*pp)->attr_list.attributes = (Z_AttributeElement **) nmem_malloc(ct->nmem, ae_num * sizeof(Z_AttributeElement *)); memcpy((*pp)->attr_list.attributes, ae, @@ -348,7 +350,7 @@ const char *cql_lookup_reverse(cql_transform_t ct, } if (i == e->attr_list.num_attributes) - return e->pattern; + return e->pattern + clen; } } return 0; @@ -433,7 +435,7 @@ int cql_pr_attr_uri(cql_transform_t ct, const char *category, int i; while (*cp1 && *cp1 != ' ') cp1++; - if (cp1 - cp0 >= sizeof(buf)) + if (cp1 - cp0 >= (ptrdiff_t) sizeof(buf)) break; memcpy(buf, cp0, cp1 - cp0); buf[cp1-cp0] = 0; @@ -605,11 +607,11 @@ static int has_modifier(struct cql_node *cn, const char *name) { } -void emit_term(cql_transform_t ct, - struct cql_node *cn, - const char *term, int length, - void (*pr)(const char *buf, void *client_data), - void *client_data) +static void emit_term(cql_transform_t ct, + struct cql_node *cn, + const char *term, int length, + void (*pr)(const char *buf, void *client_data), + void *client_data) { int i; const char *ns = cn->u.st.index_uri; @@ -746,11 +748,11 @@ void emit_term(cql_transform_t ct, xfree(z3958_mem); } -void emit_terms(cql_transform_t ct, - struct cql_node *cn, - void (*pr)(const char *buf, void *client_data), - void *client_data, - const char *op) +static void emit_terms(cql_transform_t ct, + struct cql_node *cn, + void (*pr)(const char *buf, void *client_data), + void *client_data, + const char *op) { struct cql_node *ne = cn->u.st.extra_terms; if (ne) @@ -774,11 +776,11 @@ void emit_terms(cql_transform_t ct, } } -void emit_wordlist(cql_transform_t ct, - struct cql_node *cn, - void (*pr)(const char *buf, void *client_data), - void *client_data, - const char *op) +static void emit_wordlist(cql_transform_t ct, + struct cql_node *cn, + void (*pr)(const char *buf, void *client_data), + void *client_data, + const char *op) { const char *cp0 = cn->u.st.term; const char *cp1; @@ -949,6 +951,7 @@ void cql_transform_set_error(cql_transform_t ct, int error, const char *addinfo) /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab