use gv_init here instead of gv_fetchsv
[gitmo/Package-Stash-XS.git] / typemap
diff --git a/typemap b/typemap
index 3ea935e..fc3c031 100644 (file)
--- a/typemap
+++ b/typemap
@@ -5,11 +5,12 @@ vartype_t     T_VARTYPE
 INPUT
 T_VARSPEC
     if (SvPOK($arg))
-        _deconstruct_variable_name(SvPV_nolen($arg), &$var);
+        _deconstruct_variable_name($arg, &$var);
     else if (SvROK($arg) && SvTYPE(SvRV($arg)) == SVt_PVHV)
         _deconstruct_variable_hash((HV*)SvRV($arg), &$var);
     else
         croak(\"varspec must be a string or a hashref\");
+    _check_varspec_is_valid(&$var);
 
 T_VARTYPE
     if (!SvPOK($arg))