X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fzoom-c.c;h=ecd2933d2f45d995361ca8943b33021013252666;hb=1def729ae2f4b9f5c67b68440be71d721b4b4f94;hp=10cf7905560c4747e3816e76090afe31759df5ce;hpb=e20877bdeb227b7c4179b6defa3eb5b44599d707;p=yaz-moved-to-github.git diff --git a/src/zoom-c.c b/src/zoom-c.c index 10cf790..ecd2933 100644 --- a/src/zoom-c.c +++ b/src/zoom-c.c @@ -2,7 +2,7 @@ * Copyright (C) 1995-2007, Index Data ApS * See the file LICENSE for details. * - * $Id: zoom-c.c,v 1.118 2007-03-19 20:58:34 adam Exp $ + * $Id: zoom-c.c,v 1.116.2.1 2007-06-26 09:23:30 adam Exp $ */ /** * \file zoom-c.c @@ -27,6 +27,8 @@ #include #include +#define TASK_FIX 1 + static int log_api = 0; static int log_details = 0; @@ -166,7 +168,9 @@ static void set_dset_error(ZOOM_connection c, int error, c, c->host_port ? c->host_port : "<>", dset, error, addinfo ? addinfo : "", addinfo2 ? addinfo2 : ""); +#if TASK_FIX ZOOM_connection_remove_tasks(c); +#endif } } @@ -674,7 +678,7 @@ ZOOM_API(int) WRBUF wr = wrbuf_alloc(); ccl_pquery(wr, rpn); ccl_rpn_delete(rpn); - ret = ZOOM_query_prefix(s, wrbuf_cstr(wr)); + ret = ZOOM_query_prefix(s, wrbuf_buf(wr)); wrbuf_destroy(wr); } ccl_qual_rm(&bibset); @@ -853,10 +857,22 @@ ZOOM_API(ZOOM_resultset) return r; } -ZOOM_API(int) +/* + * This is the old result-set sorting API, which is maintained only + * for the sake of binary compatibility. There is no reason ever to + * use this rather than ZOOM_resultset_sort1(). + */ +ZOOM_API(void) ZOOM_resultset_sort(ZOOM_resultset r, const char *sort_type, const char *sort_spec) { + (void) ZOOM_resultset_sort1(r, sort_type, sort_spec); +} + +ZOOM_API(int) + ZOOM_resultset_sort1(ZOOM_resultset r, + const char *sort_type, const char *sort_spec) +{ ZOOM_connection c = r->connection; ZOOM_task task; ZOOM_query newq; @@ -1284,7 +1300,7 @@ static zoom_ret ZOOM_connection_send_init(ZOOM_connection c) odr_prepend(c->odr_out, "ZOOM-C", ireq->implementationName)); - version = odr_strdup(c->odr_out, "$Revision: 1.118 $"); + version = odr_strdup(c->odr_out, "$Revision: 1.116.2.1 $"); if (strlen(version) > 10) /* check for unexpanded CVS strings */ version[strlen(version)-2] = '\0'; ireq->implementationVersion = @@ -1771,7 +1787,7 @@ static const char *marc_iconv_return(ZOOM_record rec, int marc_type, yaz_iconv_close(cd); if (len) *len = wrbuf_len(rec->wrbuf_marc); - return wrbuf_cstr(rec->wrbuf_marc); + return wrbuf_buf(rec->wrbuf_marc); } yaz_marc_destroy(mt); if (cd) @@ -1834,7 +1850,8 @@ static const char *record_iconv_return(ZOOM_record rec, int *len, } wrbuf_write(rec->wrbuf_iconv, outbuf, outp - outbuf); } - buf = wrbuf_cstr(rec->wrbuf_iconv); + wrbuf_puts(rec->wrbuf_iconv, ""); + buf = wrbuf_buf(rec->wrbuf_iconv); sz = wrbuf_len(rec->wrbuf_iconv); yaz_iconv_close(cd); } @@ -2643,21 +2660,21 @@ static zoom_ret send_present(ZOOM_connection c) } ZOOM_API(ZOOM_scanset) - ZOOM_connection_scan_pqf(ZOOM_connection c, const char *start) + ZOOM_connection_scan(ZOOM_connection c, const char *start) { ZOOM_scanset s; ZOOM_query q = ZOOM_query_create(); ZOOM_query_prefix(q, start); - s = ZOOM_connection_scan(c, q); + s = ZOOM_connection_scan1(c, q); ZOOM_query_destroy(q); return s; } ZOOM_API(ZOOM_scanset) - ZOOM_connection_scan(ZOOM_connection c, ZOOM_query q) + ZOOM_connection_scan1(ZOOM_connection c, ZOOM_query q) { char *start; char *freeme = 0; @@ -2857,12 +2874,11 @@ ZOOM_API(const char *) return ZOOM_options_get(scan->options, key); } -ZOOM_API(int) +ZOOM_API(void) ZOOM_scanset_option_set(ZOOM_scanset scan, const char *key, const char *val) { ZOOM_options_set(scan->options, key, val); - return 0; } static Z_APDU *create_es_package(ZOOM_package p, int type) @@ -3314,12 +3330,11 @@ ZOOM_API(const char *) } -ZOOM_API(int) +ZOOM_API(void) ZOOM_package_option_set(ZOOM_package p, const char *key, const char *val) { ZOOM_options_set(p->options, key, val); - return 0; } static int ZOOM_connection_exec_task(ZOOM_connection c) @@ -3883,20 +3898,18 @@ ZOOM_API(const char *) return ZOOM_options_getl(c->options, key, lenp); } -ZOOM_API(int) +ZOOM_API(void) ZOOM_connection_option_set(ZOOM_connection c, const char *key, const char *val) { ZOOM_options_set(c->options, key, val); - return 0; } -ZOOM_API(int) +ZOOM_API(void) ZOOM_connection_option_setl(ZOOM_connection c, const char *key, const char *val, int len) { ZOOM_options_setl(c->options, key, val, len); - return 0; } ZOOM_API(const char *) @@ -3905,12 +3918,11 @@ ZOOM_API(const char *) return ZOOM_options_get(r->options, key); } -ZOOM_API(int) +ZOOM_API(void) ZOOM_resultset_option_set(ZOOM_resultset r, const char *key, const char *val) { ZOOM_options_set(r->options, key, val); - return 0; } @@ -4045,6 +4057,8 @@ static void ZOOM_connection_do_io(ZOOM_connection c, int mask) if (c->cs->io_pending & CS_WANT_READ) mask += ZOOM_SELECT_READ; ZOOM_connection_set_mask(c, mask); + event = ZOOM_Event_create(ZOOM_EVENT_NONE); + ZOOM_connection_put_event(c, event); } else if (ret == 0) {