--- JSON-XS/typemap 2007/08/13 16:14:20 1.2 +++ JSON-XS/typemap 2007/11/28 13:57:15 1.3 @@ -3,9 +3,13 @@ INPUT T_JSON - if (!(SvROK ($arg) && SvOBJECT (SvRV ($arg)) - && SvSTASH (SvRV ($arg)) == JSON_STASH)) + if (!( + SvROK ($arg) + && SvOBJECT (SvRV ($arg)) + && (SvSTASH (SvRV ($arg)) == JSON_STASH || sv_derived_from ($arg, \"JSON::XS\")) + )) croak (\"object is not of type JSON::XS\"); + /**/ $var = (JSON *)SvPVX (SvRV ($arg));