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
All databases with prefix db allowed
[yaz-moved-to-github.git]
/
ztest
/
ztest.c
diff --git
a/ztest/ztest.c
b/ztest/ztest.c
index
c95c471
..
0cf54d1
100644
(file)
--- a/
ztest/ztest.c
+++ b/
ztest/ztest.c
@@
-1,5
+1,5
@@
/* This file is part of the YAZ toolkit.
/* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2009 Index Data
+ * Copyright (C) 1995-2010 Index Data
* See the file LICENSE for details.
*/
* See the file LICENSE for details.
*/
@@
-38,9
+38,9
@@
int ztest_delete(void *handle, bend_delete_rr *rr);
Only terms that looks a numeric is used.. Returns -1 if
no sub tree has a hit count term
*/
Only terms that looks a numeric is used.. Returns -1 if
no sub tree has a hit count term
*/
-static int get_term_hit(Z_RPNStructure *s)
+static Odr_int get_term_hit(Z_RPNStructure *s)
{
{
- int h = -1;
+ Odr_int h = -1;
switch(s->which)
{
case Z_RPNStructure_simple:
switch(s->which)
{
case Z_RPNStructure_simple:
@@
-51,7
+51,12
@@
static int get_term_hit(Z_RPNStructure *s)
{
Odr_oct *oct = apt->term->u.general;
if (oct->len > 0 && oct->buf[0] >= '0' && oct->buf[0] <= '9')
{
Odr_oct *oct = apt->term->u.general;
if (oct->len > 0 && oct->buf[0] >= '0' && oct->buf[0] <= '9')
- h = atoi_n((const char *) oct->buf, oct->len);
+ {
+ WRBUF hits_str = wrbuf_alloc();
+ wrbuf_write(hits_str, (const char *) oct->buf, oct->len);
+ h = odr_atoi(wrbuf_cstr(hits_str));
+ wrbuf_destroy(hits_str);
+ }
}
}
break;
}
}
break;
@@
-73,9
+78,9
@@
static int get_term_hit(Z_RPNStructure *s)
have a way to trigger a certain hit count. Good for testing of
client applications etc
*/
have a way to trigger a certain hit count. Good for testing of
client applications etc
*/
-static int get_hit_count(Z_Query *q)
+static Odr_int get_hit_count(Z_Query *q)
{
{
- int h = -1;
+ Odr_int h = -1;
if (q->which == Z_Query_type_1 || q->which == Z_Query_type_101)
h = get_term_hit(q->u.type_1->RPNStructure);
if (h == -1)
if (q->which == Z_Query_type_1 || q->which == Z_Query_type_101)
h = get_term_hit(q->u.type_1->RPNStructure);
if (h == -1)
@@
-83,7
+88,7
@@
static int get_hit_count(Z_Query *q)
return h;
}
return h;
}
-/** \brief checks if it's a dummy Slow database..
+/** \brief checks if it's a dummy Slow database
\param basename database name to check
\param association backend association (or NULL if not available)
\retval 1 is slow database
\param basename database name to check
\param association backend association (or NULL if not available)
\retval 1 is slow database
@@
-123,9
+128,11
@@
int ztest_search(void *handle, bend_search_rr *rr)
rr->errcode = YAZ_BIB1_COMBI_OF_SPECIFIED_DATABASES_UNSUPP;
return 0;
}
rr->errcode = YAZ_BIB1_COMBI_OF_SPECIFIED_DATABASES_UNSUPP;
return 0;
}
- /* Throw Database unavailable if other than Default or Slow */
+ /* Allow Default, db.* and Slow */
if (!yaz_matchstr(rr->basenames[0], "Default"))
; /* Default is OK in our test */
if (!yaz_matchstr(rr->basenames[0], "Default"))
; /* Default is OK in our test */
+ else if (!strncmp(rr->basenames[0], "db", 2))
+ ; /* db.* is OK in our test */
else if (check_slow(rr->basenames[0], rr->association))
{
rr->estimated_hit_count = 1;
else if (check_slow(rr->basenames[0], rr->association))
{
rr->estimated_hit_count = 1;
@@
-716,7
+723,7
@@
int ztest_scan(void *handle, bend_scan_rr *q)
return 0;
}
len = q->term->term->u.general->len;
return 0;
}
len = q->term->term->u.general->len;
- if (len >= sizeof(term))
+ if (len >= (int ) sizeof(term))
len = sizeof(term)-1;
memcpy(term, q->term->term->u.general->buf, len);
term[len] = '\0';
len = sizeof(term)-1;
memcpy(term, q->term->term->u.general->buf, len);
term[len] = '\0';