version 1.305, 2004/03/02 21:31:22
|
version 1.306, 2004/03/02 22:39:12
|
Line 751 sub init_safespace {
|
Line 751 sub init_safespace {
|
$safehole->wrap(\&Math::Random::random_get_seed,$safeeval,'&random_get_seed'); |
$safehole->wrap(\&Math::Random::random_get_seed,$safeeval,'&random_get_seed'); |
$safehole->wrap(\&Math::Random::random_set_seed,$safeeval,'&random_set_seed'); |
$safehole->wrap(\&Math::Random::random_set_seed,$safeeval,'&random_set_seed'); |
$safehole->wrap(\&Apache::lonxml::error,$safeeval,'&LONCAPA_INTERNAL_ERROR'); |
$safehole->wrap(\&Apache::lonxml::error,$safeeval,'&LONCAPA_INTERNAL_ERROR'); |
|
$safehole->wrap(\&Apache::lonxml::debug,$safeeval,'&DEBUG'); |
|
|
#need to inspect this class of ops |
#need to inspect this class of ops |
# $safeeval->deny(":base_orig"); |
# $safeeval->deny(":base_orig"); |
Line 766 sub init_safespace {
|
Line 767 sub init_safespace {
|
sub __LC_INTERNAL_EVALUATE__ { |
sub __LC_INTERNAL_EVALUATE__ { |
my ($__LC__a,$__LC__b,$__LC__c)=@_; |
my ($__LC__a,$__LC__b,$__LC__c)=@_; |
my $__LC__prefix; |
my $__LC__prefix; |
my $__LC__msg; |
|
while(1){ |
while(1){ |
{ |
{ |
#use strict; |
use strict; |
|
no strict "vars"; |
if (eval(defined(eval($__LC__a.$__LC__b)))) { |
if (eval(defined(eval($__LC__a.$__LC__b)))) { |
return $__LC__msg.$__LC__prefix.eval($__LC__a.$__LC__b.$__LC__c); |
return $__LC__prefix.eval($__LC__a.$__LC__b.$__LC__c); |
} |
} |
} |
} |
$__LC__prefix.=substr($__LC__a,0,1,""); |
$__LC__prefix.=substr($__LC__a,0,1,""); |
if ($__LC__a!~/^(\$|&|\#)/) { last; } |
if ($__LC__a!~/^(\$|&|\#)/) { last; } |
} |
} |
return $__LC__prefix.$__LC__a.$__LC__b.$__LC__c.$__LC__msg; |
return $__LC__prefix.$__LC__a.$__LC__b.$__LC__c; |
} |
} |
EVALUATESUB |
EVALUATESUB |
$safeeval->permit("require"); |
$safeeval->permit("require"); |