Diff for /loncom/xml/Safe.pm between versions 1.2 and 1.3

version 1.2, 2002/03/30 18:53:17 version 1.3, 2002/10/17 19:27:24
Line 214  sub reval { Line 214  sub reval {
     # Create anon sub ref in root of compartment.      # Create anon sub ref in root of compartment.
     # Uses a closure (on $expr) to pass in the code to be executed.      # Uses a closure (on $expr) to pass in the code to be executed.
     # (eval on one line to keep line numbers as expected by caller)      # (eval on one line to keep line numbers as expected by caller)
  my $evalcode = sprintf('package %s; sub { eval $__SAFE_LOCAL_expr; }', $root);      my $evalcode = sprintf('package %s; sub { @_ = (); eval $__SAFE_LOCAL_expr; }', $root);
     my $evalsub;      my $evalsub;
   
  if ($strict) { use strict; $evalsub = eval $evalcode; }   if ($strict) { use strict; $evalsub = eval $evalcode; }
Line 228  sub rdo { Line 228  sub rdo {
     my $root = $obj->{Root};      my $root = $obj->{Root};
   
     my $evalsub = eval      my $evalsub = eval
     sprintf('package %s; sub { do $file }', $root);        sprintf('package %s; sub { @_ = (); do $file }', $root);
     return Opcode::_safe_call_sv($root, $obj->{Mask}, $evalsub);      return Opcode::_safe_call_sv($root, $obj->{Mask}, $evalsub);
 }  }
   

Removed from v.1.2  
changed lines
  Added in v.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>