--- loncom/lonnet/perl/lonnet.pm	2004/05/19 17:13:39	1.502
+++ loncom/lonnet/perl/lonnet.pm	2004/05/27 04:25:12	1.503
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # TCP networking package
 #
-# $Id: lonnet.pm,v 1.502 2004/05/19 17:13:39 matthew Exp $
+# $Id: lonnet.pm,v 1.503 2004/05/27 04:25:12 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -4465,6 +4465,15 @@ sub latest_rnd_algorithm_id {
     return '64bit3';
 }
 
+sub get_rand_alg {
+    my ($courseid)=@_;
+    if (!$courseid) { $courseid=(&Apache::lonxml::whichuser())[1]; }
+    if ($courseid) {
+	return $ENV{"course.$courseid.rndseed"};
+    }
+    return &latest_rnd_algorithm_id();
+}
+
 sub getCODE {
     if (defined($ENV{'form.CODE'})) { return $ENV{'form.CODE'}; }
     if (defined($Apache::lonhomework::parsing_a_problem) &&
@@ -4484,7 +4493,7 @@ sub rndseed {
     if (!$courseid) { $courseid=$wcourseid; }
     if (!$domain) { $domain=$wdomain; }
     if (!$username) { $username=$wusername }
-    my $which=$ENV{"course.$courseid.rndseed"};
+    my $which=&get_rand_alg();
     if (defined(&getCODE())) {
 	return &rndseed_CODE_64bit($symb,$courseid,$domain,$username);
     } elsif ($which eq '64bit3') {
@@ -4574,7 +4583,7 @@ sub rndseed_64bit3 {
 	my $num2=$nameseed+$domainseed+$courseseed;
 	#&Apache::lonxml::debug("$symbseed:$nameseed;$domainseed|$courseseed;$namechck:$symbchck");
 	#&Apache::lonxml::debug("rndseed :$num:$symb");
-	return "$num1,$num2";
+	return "$num1:$num2";
     }
 }
 
@@ -4591,14 +4600,14 @@ sub rndseed_CODE_64bit {
 	my $num2=$CODEseed+$courseseed+$symbchck;
 	#&Apache::lonxml::debug("$symbseed:$CODEchck|$CODEseed:$courseseed:$symbchck");
 	#&Apache::lonxml::debug("rndseed :$num1:$num2:$symb");
-	return "$num1,$num2";
+	return "$num1:$num2";
     }
 }
 
 sub setup_random_from_rndseed {
     my ($rndseed)=@_;
-    if ($rndseed =~/,/) {
-	my ($num1,$num2)=split(/,/,$rndseed);
+    if ($rndseed =~/([,:])/) {
+	my ($num1,$num2)=split(/[,:]/,$rndseed);
 	&Math::Random::random_set_seed(abs($num1),abs($num2));
     } else {
 	&Math::Random::random_set_seed_from_phrase($rndseed);