summaryrefslogtreecommitdiff
path: root/op.c
diff options
context:
space:
mode:
Diffstat (limited to 'op.c')
-rw-r--r--op.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/op.c b/op.c
index 5e2d593225..7e3beb2a9b 100644
--- a/op.c
+++ b/op.c
@@ -4783,17 +4783,24 @@ ck_fun(OP *o)
I32 private = 0;
/* is this op a FH constructor? */
if (is_handle_constructor(o,numargs)) {
+ flags = 0;
/* Set a flag to tell rv2gv to vivify
* need to "prove" flag does not mean something
* else already - NI-S 1999/05/07
*/
- flags = 0;
- private = OPpDEREF;
+ private = OPpDEREF;
+#if 0
+ /* Helps with open($array[$n],...)
+ but is too simplistic - need to do selectively
+ */
+ mod(kid,type);
+#endif
}
kid->op_sibling = 0;
kid = newUNOP(OP_RV2GV, flags, scalar(kid));
- if (private)
+ if (private) {
kid->op_private |= private;
+ }
}
kid->op_sibling = sibl;
*tokid = kid;