X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=ZOOM.xs;h=3314067a9b519cd490e44e2c12ef98ebcfb0a471;hb=7e9c44e87b2950ef16bb530b9ec799cd022934a5;hp=92b1db6c82554b435e7507da9a22b6e11d25c992;hpb=07f901ffbaa5a001d0943eae54800b34b9827e17;p=ZOOM-Perl-moved-to-github.git diff --git a/ZOOM.xs b/ZOOM.xs index 92b1db6..3314067 100644 --- a/ZOOM.xs +++ b/ZOOM.xs @@ -1,4 +1,4 @@ -/* $Id: ZOOM.xs,v 1.39 2006-04-06 12:50:41 mike Exp $ */ +/* $Id: ZOOM.xs,v 1.43 2006-10-04 17:14:12 mike Exp $ */ #include "EXTERN.h" #include "perl.h" @@ -327,6 +327,20 @@ ZOOM_query_cql2rpn(s, str, conn) ZOOM_connection conn int +ZOOM_query_ccl2rpn(s, query_str, config, errcode, errstr, errpos) + ZOOM_query s + const char* query_str + const char* config + int &errcode + const char* &errstr + int &errpos + OUTPUT: + RETVAL + errcode + errstr + errpos + +int ZOOM_query_prefix(s, str) ZOOM_query s const char* str @@ -506,8 +520,6 @@ ZOOM_package_option_set(p, key, val) const char * key const char * val -# UNTESTED -# # This has to be called with a single argument which is a _reference_ # to an array -- rather than directly with an array, which is of # course identical to passing arbitrarily many arguments. This is @@ -547,9 +559,10 @@ ZOOM_event(conns) /*printf("* n = %d\n", n);*/ for (i = 0; i < n; i++) { SV **connp = av_fetch((AV*) realconns, i, (I32) 0); + SV *conn, *sv; /*printf("* %d of %d: connp = %p\n", (int) i, (int) n,connp);*/ assert(connp != 0); - SV *conn = *connp; + conn = *connp; /*printf("* conn = %p\n", conn);*/ /* * From here on, the tests and assertions seem to @@ -563,22 +576,24 @@ ZOOM_event(conns) /*printf("* passed assert(isa(ZOOM_connection))\n");*/ assert(SvROK(conn)); /*printf("* passed assert SvROK()\n");*/ - SV *sv = (SV*) SvRV(conn); + sv = (SV*) SvRV(conn); /*printf("* sv = %p\n", sv);*/ - IV tmp = SvIV(sv); - /*printf("* tmp = %d\n", tmp); */ - cs[i] = INT2PTR(ZOOM_connection, tmp); + cs[i] = INT2PTR(ZOOM_connection, SvIV(sv)); /*printf("got cs[%d] of %d = %p\n", (int) i, (int) n, cs[i]);*/ } RETVAL = ZOOM_event((int) n, cs); OUTPUT: RETVAL -# UNTESTED int ZOOM_connection_last_event(cs) ZOOM_connection cs +int +ZOOM_connection_is_idle(cs) + ZOOM_connection cs + + # ---------------------------------------------------------------------------- # What follows is the YAZ logging API. This is not strictly part of # ZOOM, but it's so useful that it would be silly to omit.