/*
- * Copyright (c) 1995-2004, Index Data.
+ * Copyright (C) 1995-2005, Index Data ApS
* See the file LICENSE for details.
*
- * $Id: ztest.c,v 1.66 2004-11-16 17:08:11 heikki Exp $
+ * $Id: ztest.c,v 1.71 2005-01-15 19:47:16 adam Exp $
*/
/*
/* if database is stop, stop this process.. For debugging only. */
if (!yaz_matchstr (rr->basenames[0], "stop"))
{
- nmem_print_list_l(LOG_LOG);
+ nmem_print_list_l(YLOG_LOG);
exit(0);
}
#endif
}
else
{
- yaz_log (LOG_WARN, "Unknown Extended Service(%d)",
+ yaz_log (YLOG_WARN, "Unknown Extended Service(%d)",
rr->esr->taskSpecificParameters->which);
}
int term_position_req = q->term_position;
int num_entries_req = q->num_entries;
+ if (yaz_matchstr (q->basenames[0], "Default"))
+ {
+ q->errcode = 109;
+ q->errstring = q->basenames[0];
+ return 0;
+ }
+
q->errcode = 0;
q->errstring = 0;
q->entries = list;
perror("dummy-words");
exit(1);
}
- if (q->term->term->which != Z_Term_general)
- {
- q->errcode = 229; /* unsupported term type */
- return 0;
- }
- if (*q->step_size != 0)
+ if (q->num_entries > 200)
{
- q->errcode = 205; /*Only zero step size supported for Scan */
+ q->errcode = 31;
return 0;
}
- if (q->term->term->u.general->len >= 80)
+ if (q->term)
{
- q->errcode = 11; /* term too long */
- return 0;
+ int len;
+ if (q->term->term->which != Z_Term_general)
+ {
+ q->errcode = 229; /* unsupported term type */
+ return 0;
+ }
+ if (*q->step_size != 0)
+ {
+ q->errcode = 205; /*Only zero step size supported for Scan */
+ return 0;
+ }
+ len = q->term->term->u.general->len;
+ if (len >= sizeof(term))
+ len = sizeof(term)-1;
+ memcpy(term, q->term->term->u.general->buf, len);
+ term[len] = '\0';
}
- if (q->num_entries > 200)
+ else if (q->scanClause)
{
- q->errcode = 31;
- return 0;
+ strncpy(term, q->scanClause, sizeof(term)-1);
+ term[sizeof(term)-1] = '\0';
}
- memcpy(term, q->term->term->u.general->buf, q->term->term->u.general->len);
- term[q->term->term->u.general->len] = '\0';
+ else
+ strcpy(term, "0");
+
for (p = term; *p; p++)
- if (islower(*p))
+ if (islower(*(unsigned char *) p))
*p = toupper(*p);
fseek(f, 0, SEEK_SET);
q->bend_fetch = ztest_fetch;
q->bend_scan = ztest_scan;
q->bend_explain = ztest_explain;
+ q->bend_srw_scan = ztest_scan;
return r;
}