--- 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