… | |
… | |
186 | |
186 | |
187 | if (obj->self) |
187 | if (obj->self) |
188 | { |
188 | { |
189 | // the hard way(?) |
189 | // the hard way(?) |
190 | |
190 | |
191 | // the dirty blues: "just" swap the XPVHV's |
191 | CALL_BEGIN (2); |
192 | swap (SvANY (obj->self), SvANY (hv)); |
192 | CALL_ARG_SV (newRV_inc ((SV *)obj->self)); |
193 | |
193 | CALL_ARG_SV (newRV_inc ((SV *)hv)); |
194 | // do not swap magic, though |
194 | PUTBACK; |
195 | swap (SvMAGIC (obj->self), SvMAGIC (hv)); |
195 | call_method ("thawer_merge", G_DISCARD | G_EVAL); |
|
|
196 | SPAGAIN; |
|
|
197 | CALL_END; |
196 | } |
198 | } |
197 | else |
199 | else |
198 | { |
200 | { |
199 | // the easy way(?) |
201 | // the easy way(?) |
200 | |
202 | |