Fixes for perl 5.36 with multiplicity + memleak in $st->kv methods
I always keep messing up the aTHX_ and pTHX_ stuff because my system perl isn't built with multiplicity, and I still haven't found a satisfactory way of finding SV leaks. Valgrind can't track those :(
This commit is contained in:
parent
1f7e2de9a0
commit
867543267f
6 changed files with 40 additions and 32 deletions
|
|
@ -265,7 +265,7 @@ RECVFN(array) {
|
|||
return fupg_recv_array_elem(aTHX_ ctx->arrayelem, header, 0, ndim, &data, buf+len);
|
||||
}
|
||||
|
||||
void fupg_send_array_elem(aTHX_ const fupg_tio *elem, const U32 *dims, U32 dim, U32 ndim, SV *v, fustr *out, int *hasnull) {
|
||||
void fupg_send_array_elem(pTHX_ const fupg_tio *elem, const U32 *dims, U32 dim, U32 ndim, SV *v, fustr *out, int *hasnull) {
|
||||
SvGETMAGIC(v);
|
||||
if (dim == ndim) {
|
||||
if (!SvOK(v)) {
|
||||
|
|
@ -275,7 +275,7 @@ void fupg_send_array_elem(aTHX_ const fupg_tio *elem, const U32 *dims, U32 dim,
|
|||
}
|
||||
size_t lenoff = fustr_len(out);
|
||||
fustr_write(out, "\0\0\0\0", 4);
|
||||
elem->send(elem, v, out);
|
||||
elem->send(aTHX_ elem, v, out);
|
||||
fu_tobeU(32, fustr_start(out) + lenoff, fustr_len(out) - lenoff - 4);
|
||||
return;
|
||||
}
|
||||
|
|
@ -395,7 +395,7 @@ SENDFN(record) {
|
|||
}
|
||||
size_t lenoff = fustr_len(out);
|
||||
fustr_write(out, "\0\0\0\0", 4);
|
||||
ctx->record.tio[i].send(ctx->record.tio+i, sv, out);
|
||||
ctx->record.tio[i].send(aTHX_ ctx->record.tio+i, sv, out);
|
||||
fu_tobeU(32, fustr_start(out) + lenoff, fustr_len(out) - lenoff - 4);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue