projects
/
yaz-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
GFS: remove member hits from bend_present_rr
[yaz-moved-to-github.git]
/
src
/
pquery.c
diff --git
a/src/pquery.c
b/src/pquery.c
index
de99f0c
..
9a150a4
100644
(file)
--- a/
src/pquery.c
+++ b/
src/pquery.c
@@
-1,8
+1,6
@@
-/*
- * Copyright (C) 1995-2007, Index Data ApS
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) 1995-2009 Index Data
* See the file LICENSE for details.
* See the file LICENSE for details.
- *
- * $Id: pquery.c,v 1.11 2007-04-16 21:53:09 adam Exp $
*/
/**
* \file pquery.c
*/
/**
* \file pquery.c
@@
-33,14
+31,14
@@
struct yaz_pqf_parser {
static Z_RPNStructure *rpn_structure(struct yaz_pqf_parser *li, ODR o,
int num_attr, int max_attr,
static Z_RPNStructure *rpn_structure(struct yaz_pqf_parser *li, ODR o,
int num_attr, int max_attr,
- int *attr_list, char **attr_clist,
- int **attr_set);
+ Odr_int *attr_list, char **attr_clist,
+ Odr_oid **attr_set);
-static int *query_oid_getvalbyname(struct yaz_pqf_parser *li, ODR o)
+static Odr_oid *query_oid_getvalbyname(struct yaz_pqf_parser *li, ODR o)
{
char buf[32];
{
char buf[32];
- if (li->lex_len > 31)
+ if (li->lex_len >= sizeof(buf)-1)
return 0;
memcpy (buf, li->lex_buf, li->lex_len);
buf[li->lex_len] = '\0';
return 0;
memcpy (buf, li->lex_buf, li->lex_len);
buf[li->lex_len] = '\0';
@@
-185,8
+183,8
@@
static int escape_string(char *out_buf, const char *in, int len)
}
static 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, int *attr_list,
- char **attr_clist, int **attr_set)
+ int num_attr, Odr_int *attr_list,
+ char **attr_clist, Odr_oid **attr_set)
{
const char *cp;
{
const char *cp;
@@
-241,8
+239,8
@@
static int p_query_parse_attr(struct yaz_pqf_parser *li, ODR o,
}
static Z_AttributesPlusTerm *rpn_term(struct yaz_pqf_parser *li, ODR o,
}
static Z_AttributesPlusTerm *rpn_term(struct yaz_pqf_parser *li, ODR o,
- int num_attr, int *attr_list,
- char **attr_clist, int **attr_set)
+ int num_attr, Odr_int *attr_list,
+ char **attr_clist, Odr_oid **attr_set)
{
Z_AttributesPlusTerm *zapt;
Odr_oct *term_octet;
{
Z_AttributesPlusTerm *zapt;
Odr_oct *term_octet;
@@
-258,13
+256,13
@@
static Z_AttributesPlusTerm *rpn_term(struct yaz_pqf_parser *li, ODR o,
else
{
int i, k = 0;
else
{
int i, k = 0;
- int *attr_tmp;
+ Odr_int *attr_tmp;
elements = (Z_AttributeElement**)
odr_malloc (o, num_attr * sizeof(*elements));
elements = (Z_AttributeElement**)
odr_malloc (o, num_attr * sizeof(*elements));
- attr_tmp = (int *)odr_malloc (o, num_attr * 2 * sizeof(int));
- memcpy (attr_tmp, attr_list, num_attr * 2 * sizeof(int));
+ attr_tmp = (Odr_int *)odr_malloc(o, num_attr * 2 * sizeof(*attr_tmp));
+ memcpy(attr_tmp, attr_list, num_attr * 2 * sizeof(*attr_tmp));
for (i = num_attr; --i >= 0; )
{
int j;
for (i = num_attr; --i >= 0; )
{
int j;
@@
-294,8
+292,7
@@
static Z_AttributesPlusTerm *rpn_term(struct yaz_pqf_parser *li, ODR o,
Z_StringOrNumeric_string;
elements[k]->value.complex->list[0]->u.string =
attr_clist[i];
Z_StringOrNumeric_string;
elements[k]->value.complex->list[0]->u.string =
attr_clist[i];
- elements[k]->value.complex->semanticAction = (int **)
- odr_nullval();
+ elements[k]->value.complex->semanticAction = 0;
elements[k]->value.complex->num_semanticAction = 0;
}
else
elements[k]->value.complex->num_semanticAction = 0;
}
else
@@
-351,8
+348,9
@@
static Z_AttributesPlusTerm *rpn_term(struct yaz_pqf_parser *li, ODR o,
}
static Z_Operand *rpn_simple(struct yaz_pqf_parser *li, ODR o,
}
static Z_Operand *rpn_simple(struct yaz_pqf_parser *li, ODR o,
- int num_attr, int *attr_list, char **attr_clist,
- int **attr_set)
+ int num_attr, Odr_int *attr_list,
+ char **attr_clist,
+ Odr_oid **attr_set)
{
Z_Operand *zo;
{
Z_Operand *zo;
@@
-362,7
+360,7
@@
static Z_Operand *rpn_simple(struct yaz_pqf_parser *li, ODR o,
case 't':
zo->which = Z_Operand_APT;
if (!(zo->u.attributesPlusTerm =
case 't':
zo->which = Z_Operand_APT;
if (!(zo->u.attributesPlusTerm =
- rpn_term (li, o, num_attr, attr_list, attr_clist, attr_set)))
+ rpn_term(li, o, num_attr, attr_list, attr_clist, attr_set)))
return 0;
lex (li);
break;
return 0;
lex (li);
break;
@@
-398,9
+396,9
@@
static Z_ProximityOperator *rpn_proximity (struct yaz_pqf_parser *li, ODR o)
return NULL;
}
if (*li->lex_buf == '1')
return NULL;
}
if (*li->lex_buf == '1')
- p->exclusion = odr_intdup (o, 1);
+ p->exclusion = odr_booldup(o, 1);
else if (*li->lex_buf == '0')
else if (*li->lex_buf == '0')
- p->exclusion = odr_intdup (o, 0);
+ p->exclusion = odr_booldup(o, 0);
else if (*li->lex_buf == 'v' || *li->lex_buf == 'n')
p->exclusion = NULL;
else
else if (*li->lex_buf == 'v' || *li->lex_buf == 'n')
p->exclusion = NULL;
else
@@
-428,9
+426,9
@@
static Z_ProximityOperator *rpn_proximity (struct yaz_pqf_parser *li, ODR o)
return NULL;
}
if (*li->lex_buf == '1')
return NULL;
}
if (*li->lex_buf == '1')
- p->ordered = odr_intdup (o, 1);
+ p->ordered = odr_booldup(o, 1);
else if (*li->lex_buf == '0')
else if (*li->lex_buf == '0')
- p->ordered = odr_intdup (o, 0);
+ p->ordered = odr_booldup(o, 0);
else
{
li->error = YAZ_PQF_ERROR_PROXIMITY;
else
{
li->error = YAZ_PQF_ERROR_PROXIMITY;
@@
-486,8
+484,8
@@
static Z_ProximityOperator *rpn_proximity (struct yaz_pqf_parser *li, ODR o)
static Z_Complex *rpn_complex(struct yaz_pqf_parser *li, ODR o,
int num_attr, int max_attr,
static Z_Complex *rpn_complex(struct yaz_pqf_parser *li, ODR o,
int num_attr, int max_attr,
- int *attr_list, char **attr_clist,
- int **attr_set)
+ Odr_int *attr_list, char **attr_clist,
+ Odr_oid **attr_set)
{
Z_Complex *zc;
Z_Operator *zo;
{
Z_Complex *zc;
Z_Operator *zo;
@@
-562,9
+560,9
@@
static void rpn_term_type(struct yaz_pqf_parser *li, ODR o)
static Z_RPNStructure *rpn_structure(struct yaz_pqf_parser *li, ODR o,
int num_attr, int max_attr,
static Z_RPNStructure *rpn_structure(struct yaz_pqf_parser *li, ODR o,
int num_attr, int max_attr,
- int *attr_list,
+ Odr_int *attr_list,
char **attr_clist,
char **attr_clist,
- int **attr_set)
+ Odr_oid **attr_set)
{
Z_RPNStructure *sz;
{
Z_RPNStructure *sz;
@@
-625,10
+623,10
@@
static Z_RPNStructure *rpn_structure(struct yaz_pqf_parser *li, ODR o,
Z_RPNQuery *p_query_rpn_mk(ODR o, struct yaz_pqf_parser *li, const char *qbuf)
{
Z_RPNQuery *zq;
Z_RPNQuery *p_query_rpn_mk(ODR o, struct yaz_pqf_parser *li, const char *qbuf)
{
Z_RPNQuery *zq;
- int attr_array[1024];
+ Odr_int attr_array[1024];
char *attr_clist[512];
char *attr_clist[512];
- int *attr_set[512];
- int *top_set = 0;
+ Odr_oid *attr_set[512];
+ Odr_oid *top_set = 0;
zq = (Z_RPNQuery *)odr_malloc (o, sizeof(*zq));
lex (li);
zq = (Z_RPNQuery *)odr_malloc (o, sizeof(*zq));
lex (li);
@@
-687,12
+685,12
@@
Z_AttributesPlusTerm *p_query_scan_mk(struct yaz_pqf_parser *li,
Odr_oid **attributeSetP,
const char *qbuf)
{
Odr_oid **attributeSetP,
const char *qbuf)
{
- int attr_list[1024];
+ Odr_int attr_list[1024];
char *attr_clist[512];
char *attr_clist[512];
- int *attr_set[512];
+ Odr_oid *attr_set[512];
int num_attr = 0;
int max_attr = 512;
int num_attr = 0;
int max_attr = 512;
- int *top_set = 0;
+ Odr_oid *top_set = 0;
Z_AttributesPlusTerm *apt;
lex (li);
Z_AttributesPlusTerm *apt;
lex (li);
@@
-845,6
+843,7
@@
int yaz_pqf_error (YAZ_PQF_Parser p, const char **msg, size_t *off)
/*
* Local variables:
* c-basic-offset: 4
/*
* Local variables:
* c-basic-offset: 4
+ * c-file-style: "Stroustrup"
* indent-tabs-mode: nil
* End:
* vim: shiftwidth=4 tabstop=8 expandtab
* indent-tabs-mode: nil
* End:
* vim: shiftwidth=4 tabstop=8 expandtab