--- loncom/xml/run.pm 2006/01/11 08:56:13 1.56
+++ loncom/xml/run.pm 2006/03/16 15:47:37 1.58
@@ -1,6 +1,6 @@
package Apache::run;
#
-# $Id: run.pm,v 1.56 2006/01/11 08:56:13 albertel Exp $
+# $Id: run.pm,v 1.58 2006/03/16 15:47:37 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -78,7 +78,7 @@ sub evaluate {
my $result = '';
$@='';
$Apache::run::timeout=0;
- $main::SIG{'ALRM'} = sub {
+ local $main::SIG{'ALRM'} = sub {
$Apache::run::timeout=1;
die("timeout");
};
@@ -116,7 +116,7 @@ sub run {
my @result;
$@='';
$Apache::run::timeout=0;
- $main::SIG{'ALRM'} = sub {
+ local $main::SIG{'ALRM'} = sub {
$Apache::run::timeout=1;
die("timeout");
};
@@ -140,8 +140,10 @@ sub run {
if ($innererror=~/line (\d+)/) {
my $linenumber=$1;
my @code=split("\n",$code);
- $code[$linenumber-1]=''.
- $code[$linenumber-1].'';
+ if ($linenumber < scalar(@code)) {
+ $code[$linenumber-1]=''.
+ $code[$linenumber-1].'';
+ }
$code=join("\n",@code);
}
&Apache::lonxml::error($errormsg.$code.'');