* Copyright (c) 1995-2004, Index Data.
* See the file LICENSE for details.
*
- * $Id: ztest.c,v 1.67 2004-11-18 15:18:14 heikki Exp $
+ * $Id: ztest.c,v 1.70 2005-01-11 12:08:02 adam Exp $
*/
/*
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;
}