--- TokyoDystopia.xs 2008/08/18 18:48:33 21 +++ TokyoDystopia.xs 2008/08/18 18:53:39 22 @@ -168,6 +168,31 @@ XSRETURN(1); +void +tcidbsearch2(idb, expr) + void * idb + SV * expr +PREINIT: + AV *av; + STRLEN wsize; + uint64_t *results; + const char *wbuf; + int i, rnum; +PPCODE: + wbuf = SvPV(expr, wsize); + results = tcidbsearch2(idb, wbuf, &rnum); + if ( rnum > 0 ) { + av = newAV(); + for(i = 0; i < rnum; i++){ + av_push(av, newSViv( (int)results[i] )); + } + XPUSHs(sv_2mortal(newRV_noinc((SV *)av))); + } else { + XPUSHs((SV *)&PL_sv_undef); + } + XSRETURN(1); + + int tcidbiterinit(idb) void * idb