Diff for /loncom/xml/lonxml.pm between versions 1.329 and 1.331

version 1.329, 2004/07/13 18:13:46 version 1.331, 2004/07/19 16:48:28
Line 746  sub init_safespace { Line 746  sub init_safespace {
   
 #need to inspect this class of ops  #need to inspect this class of ops
 # $safeeval->deny(":base_orig");  # $safeeval->deny(":base_orig");
     $safeeval->permit("require");
   $safeinit .= ';$external::target="'.$target.'";';    $safeinit .= ';$external::target="'.$target.'";';
   my $rndseed;    my $rndseed;
   my ($symb,$courseid,$domain,$name) = &Apache::lonxml::whichuser();    my ($symb,$courseid,$domain,$name) = &Apache::lonxml::whichuser();
Line 754  sub init_safespace { Line 755  sub init_safespace {
   &Apache::lonxml::debug("Setting rndseed to $rndseed");    &Apache::lonxml::debug("Setting rndseed to $rndseed");
   &Apache::run::run($safeinit,$safeeval);    &Apache::run::run($safeinit,$safeeval);
   
   my $subroutine=<<'EVALUATESUB';  
 sub __LC_INTERNAL_EVALUATE__ {  
     my ($__LC__a,$__LC__b,$__LC__c)=@_;  
     my $__LC__prefix;  
     while(1){  
  {   
     use strict;  
     no strict "vars";  
     if (eval(defined(eval($__LC__a.$__LC__b)))) {  
  return $__LC__prefix.eval($__LC__a.$__LC__b.$__LC__c);  
     }  
  }  
  $__LC__prefix.=substr($__LC__a,0,1,"");  
  if ($__LC__a!~/^(\$|&|\#)/) { last; }  
     }  
     return $__LC__prefix.$__LC__a.$__LC__b.$__LC__c;  
 }  
 EVALUATESUB  
     $safeeval->permit("require");  
     $safeeval->reval($subroutine);  
     $safeeval->deny("require");  
 }  }
   
 sub default_homework_load {  sub default_homework_load {

Removed from v.1.329  
changed lines
  Added in v.1.331


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