--- Compress-LZF/LZF.xs 2002/04/10 14:11:48 1.11 +++ Compress-LZF/LZF.xs 2002/05/17 18:59:24 1.12 @@ -232,10 +232,11 @@ if (!SvOK (sv)) XPUSHs (sv_2mortal (newSVpvn ("\02", 1))); /* 02 == MAGIC_undef */ - else if (SvTYPE(sv) != SVt_IV - && SvTYPE(sv) != SVt_NV - && SvTYPE(sv) != SVt_PV - && SvTYPE(sv) != SVt_PVMG+99999) /* mstore */ + else if (SvROK (sv) + || (SvTYPE(sv) != SVt_IV + && SvTYPE(sv) != SVt_NV + && SvTYPE(sv) != SVt_PV + && SvTYPE(sv) != SVt_PVMG)) /* mstore */ { int deref = !SvROK (sv);