From 5a4d63bd5f5f484ca406b6cf7f6c8d0fb9326a0a Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Fri, 5 Aug 2011 14:44:11 -0500 Subject: don't allow assigning globs as scalars --- XS.xs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/XS.xs b/XS.xs index 2c9639e..8c84081 100644 --- a/XS.xs +++ b/XS.xs @@ -241,7 +241,11 @@ static int _valid_for_type(SV *value, vartype_t type) switch (type) { case VAR_SCALAR: - return SVT_SCALAR(sv_type); + /* XXX is a glob a scalar? assigning a glob to the scalar slot seems + * to work here, but in pure perl i'm pretty sure it goes to the EGV + * slot, which seems more correct to me. just disable it for now + * i guess */ + return SVT_SCALAR(sv_type) && sv_type != SVt_PVGV; case VAR_ARRAY: return SVT_ARRAY(sv_type); case VAR_HASH: -- cgit v1.2.3-54-g00ecf