--- In [email protected], "Sheri" <[EMAIL PROTECTED]> wrote:
>
> As best I can understand two are used for passing offsets and one is
> used for working space. If the vector has no working space, memory has
> to be allocated.
> 
> From pcre_exec.c:
>  
>  /* If the expression has got more back references than
>  the offsets supplied can hold, we get a temporary chunk
>  of working store to use during the matching. Otherwise,
>  we can use the vector supplied, rounding down its size
>  to a multiple of 3. */

Ah, I see. Thanks.
I don't have this file, better to download it.

Then, there are two places to replace to 30:

local ov=dll.create_array(30,"i")

local nCount=dll.call("Cdecl|pcre|pcre_exec|ui ui ui i i i ui i";;+
,pCode,0,pSubject,nLen,nStrOff,nOptions,pOffsets,30)

BTW, do you need dfa function? I omitted a few including it which I
thought might not be needed in my personal opinion. I suppose you can
do it yourself by generalizing pcre_exec, just adding two more
arguments that are similar to those of oVector. However, if you meet a
 problem in doing it, let me know. 

And, please keep in mind that I made the wrapper functions using
pointers if possible. Being aware of it could be of help in some cases.

Sean

Reply via email to