fix refcount errors in merge

This commit is contained in:
dzaima 2021-07-16 23:11:34 +03:00
parent 9ae1ab80cf
commit 43d2946447

View File

@ -422,7 +422,7 @@ B bqn_merge(B x) { // consumes
ur xr = rnk(x);
if (xia==0) {
B xf = getFillE(x);
if (isAtm(xf)) { dec(xf); return x; }
if (isAtm(xf)) { dec(x); dec(xf); return x; }
i32 xfr = rnk(xf);
B xff = getFillQ(xf);
Arr* r = m_fillarrp(0);
@ -433,6 +433,7 @@ B bqn_merge(B x) { // consumes
memcpy (rsh , a(x)->sh, xr *sizeof(usz));
if(xfr)memcpy(rsh+xr, a(xf)->sh, xfr*sizeof(usz));
}
dec(x); dec(xf);
return taga(r);
}