version 1.43, 2000/10/11 18:15:16
|
version 1.44, 2000/10/11 21:12:32
|
Line 42
|
Line 42
|
# varval(name) : value of a variable |
# varval(name) : value of a variable |
# refreshstate() : refresh the state information string |
# refreshstate() : refresh the state information string |
# symblist(map,hash) : Updates symbolic storage links |
# symblist(map,hash) : Updates symbolic storage links |
# symbread(filename) : returns the data handle |
# symbread([filename]) : returns the data handle (filename optional) |
# rndseed() : returns a random seed |
# rndseed() : returns a random seed |
# getfile(filename) : returns the contents of filename, or a -1 if it can't |
# getfile(filename) : returns the contents of filename, or a -1 if it can't |
# be found, replicates and subscribes to the file |
# be found, replicates and subscribes to the file |
Line 431 sub log {
|
Line 431 sub log {
|
sub store { |
sub store { |
my %storehash=@_; |
my %storehash=@_; |
my $symb; |
my $symb; |
unless ($symb=escape(&symbread($ENV{'request.filename'}))) { return ''; } |
unless ($symb=escape(&symbread())) { return ''; } |
my $namespace; |
my $namespace; |
unless ($namespace=$ENV{'request.course.id'}) { return ''; } |
unless ($namespace=$ENV{'request.course.id'}) { return ''; } |
my $namevalue=''; |
my $namevalue=''; |
Line 448 sub store {
|
Line 448 sub store {
|
|
|
sub restore { |
sub restore { |
my $symb; |
my $symb; |
unless ($symb=escape(&symbread($ENV{'request.filename'}))) { return ''; } |
unless ($symb=escape(&symbread())) { return ''; } |
my $namespace; |
my $namespace; |
unless ($namespace=$ENV{'request.course.id'}) { return ''; } |
unless ($namespace=$ENV{'request.course.id'}) { return ''; } |
my $answer=reply( |
my $answer=reply( |
Line 1029 sub symblist {
|
Line 1029 sub symblist {
|
# ------------------------------------------------------ Return symb list entry |
# ------------------------------------------------------ Return symb list entry |
|
|
sub symbread { |
sub symbread { |
my $thisfn=declutter(shift); |
my $thisfn=shift; |
|
unless ($thisfn) { |
|
$thisfn=$ENV{'request.filename'}; |
|
} |
|
$thisfn=declutter($thisfn); |
my %hash; |
my %hash; |
my %bighash; |
my %bighash; |
my $syval=''; |
my $syval=''; |
Line 1043 sub symbread {
|
Line 1047 sub symbread {
|
if ($syval) { |
if ($syval) { |
unless ($syval=~/\_\d+$/) { |
unless ($syval=~/\_\d+$/) { |
unless ($ENV{'form.request.prefix'}=~/\.(\d+)\_$/) { |
unless ($ENV{'form.request.prefix'}=~/\.(\d+)\_$/) { |
|
&appenv('request.ambiguous' => $thisfn); |
return ''; |
return ''; |
} |
} |
$syval.=$1; |
$syval.=$1; |
Line 1082 sub symbread {
|
Line 1087 sub symbread {
|
} |
} |
if ($syval) { return $syval.'___'.$thisfn; } |
if ($syval) { return $syval.'___'.$thisfn; } |
} |
} |
|
&appenv('request.ambiguous' => $thisfn); |
return ''; |
return ''; |
} |
} |
|
|
Line 1101 sub numval {
|
Line 1107 sub numval {
|
|
|
sub rndseed { |
sub rndseed { |
my $symb; |
my $symb; |
unless ($symb=&symbread($ENV{'request.filename'})) { return time; } |
unless ($symb=&symbread()) { return time; } |
my $symbchck=unpack("%32C*",$symb); |
my $symbchck=unpack("%32C*",$symb); |
my $symbseed=numval($symb)%$symbchck; |
my $symbseed=numval($symb)%$symbchck; |
my $namechck=unpack("%32C*",$ENV{'user.name'}); |
my $namechck=unpack("%32C*",$ENV{'user.name'}); |