X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=ZOOM.xs;h=7f02c013df6619340b0c5a4b58fee2c576768e9e;hb=34087b1f9c695dcf41cc9e300b455714040ca4bb;hp=92b1db6c82554b435e7507da9a22b6e11d25c992;hpb=07f901ffbaa5a001d0943eae54800b34b9827e17;p=ZOOM-Perl-moved-to-github.git diff --git a/ZOOM.xs b/ZOOM.xs index 92b1db6..7f02c01 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.42 2006-06-15 15:43:13 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 @@ -547,9 +561,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,11 +578,9 @@ 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);