ZOOM_API(size_t)
ZOOM_resultset_size(ZOOM_resultset r)
{
- yaz_log(log_details, "ZOOM_resultset_size r=%p count=%d",
+ yaz_log(log_details, "ZOOM_resultset_size r=%p count=" ODR_INT_PRINTF,
r, r->size);
return r->size;
}
if (c->cs && c->cs->protocol == PROTO_HTTP)
{
#if YAZ_HAVE_XML2
- const char *path = 0;
+ const char *db = 0;
c->proto = PROTO_HTTP;
- cs_get_host_args(c->host_port, &path);
+ cs_get_host_args(c->host_port, &db);
xfree(c->path);
- c->path = (char*) xmalloc(strlen(path)+2);
- c->path[0] = '/';
- strcpy(c->path+1, path);
+
+ c->path = xmalloc(strlen(db) * 3 + 2);
+ yaz_encode_sru_dbpath_buf(c->path, db);
#else
set_ZOOM_error(c, ZOOM_ERROR_UNSUPPORTED_PROTOCOL, "SRW");
do_close(c);
char *fdatabase = 0;
if (database)
- {
- fdatabase = (char *) odr_malloc(c->odr_out, strlen(database)+2);
- strcpy(fdatabase, "/");
- strcat(fdatabase, database);
- }
+ fdatabase = yaz_encode_sru_dbpath_odr(c->odr_out, database);
gdu = z_get_HTTP_Request_host_path(c->odr_out, c->host_port,
fdatabase ? fdatabase : c->path);
}
static void ZOOM_scanset_term_x(ZOOM_scanset scan, size_t pos,
- int *occ,
+ size_t *occ,
const char **value_term, size_t *value_len,
const char **disp_term, size_t *disp_len)
{
ZOOM_API(const char *)
ZOOM_scanset_term(ZOOM_scanset scan, size_t pos,
- int *occ, int *len)
+ size_t *occ, size_t *len)
{
const char *value_term = 0;
size_t value_len = 0;
ZOOM_API(const char *)
ZOOM_scanset_display_term(ZOOM_scanset scan, size_t pos,
- int *occ, int *len)
+ size_t *occ, size_t *len)
{
const char *value_term = 0;
size_t value_len = 0;