… | |
… | |
230 | |
230 | |
231 | SvGETMAGIC (sv); |
231 | SvGETMAGIC (sv); |
232 | |
232 | |
233 | if (!SvOK (sv)) |
233 | if (!SvOK (sv)) |
234 | XPUSHs (sv_2mortal (newSVpvn ("\02", 1))); /* 02 == MAGIC_undef */ |
234 | XPUSHs (sv_2mortal (newSVpvn ("\02", 1))); /* 02 == MAGIC_undef */ |
|
|
235 | else if (SvROK (sv) |
235 | else if (SvTYPE(sv) != SVt_IV |
236 | || (SvTYPE(sv) != SVt_IV |
236 | && SvTYPE(sv) != SVt_NV |
237 | && SvTYPE(sv) != SVt_NV |
237 | && SvTYPE(sv) != SVt_PV |
238 | && SvTYPE(sv) != SVt_PV |
238 | && SvTYPE(sv) != SVt_PVMG+99999) /* mstore */ |
239 | && SvTYPE(sv) != SVt_PVMG)) /* mstore */ |
239 | { |
240 | { |
240 | int deref = !SvROK (sv); |
241 | int deref = !SvROK (sv); |
241 | |
242 | |
242 | if (!storable_mstore) |
243 | if (!storable_mstore) |
243 | need_storable (); |
244 | need_storable (); |
… | |
… | |
343 | default: |
344 | default: |
344 | croak ("Compress::LZF::sthaw(): invalid data, maybe you need a newer version of Compress::LZF?"); |
345 | croak ("Compress::LZF::sthaw(): invalid data, maybe you need a newer version of Compress::LZF?"); |
345 | } |
346 | } |
346 | } |
347 | } |
347 | else |
348 | else |
348 | XPUSHs (sv_2mortal (SvREFCNT_inc (sv))); |
349 | XPUSHs (sv_2mortal (newSVsv (sv))); |