--- loncom/lonnet/perl/lonnet.pm	2001/12/07 20:05:36	1.187
+++ loncom/lonnet/perl/lonnet.pm	2001/12/07 20:17:44	1.188
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # TCP networking package
 #
-# $Id: lonnet.pm,v 1.187 2001/12/07 20:05:36 www Exp $
+# $Id: lonnet.pm,v 1.188 2001/12/07 20:17:44 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -64,7 +64,7 @@
 # 12/5 Guy Albertelli
 # 12/6,12/7 Gerd Kortemeyer
 #
-# $Id: lonnet.pm,v 1.187 2001/12/07 20:05:36 www Exp $
+# $Id: lonnet.pm,v 1.188 2001/12/07 20:17:44 www Exp $
 #
 ###
 
@@ -172,7 +172,10 @@ use Apache::File;
 use LWP::UserAgent();
 use HTTP::Headers;
 use vars 
-qw(%perlvar %hostname %homecache %hostip %spareid %hostdom %libserv %pr %prp %fe %fd %metacache %packagetab %courselogs %accesshash $processmarker $dumpcount);
+qw(%perlvar %hostname %homecache %hostip %spareid %hostdom 
+   %libserv %pr %prp %fe %fd %metacache %packagetab 
+   %courselogs %accesshash $processmarker $dumpcount 
+   %coursedombuf %coursehombuf);
 use IO::Socket;
 use GDBM_File;
 use Apache::Constants qw(:common :http);
@@ -755,10 +758,9 @@ sub flushcourselogs {
     &logthis('Flushing course log buffers');
     map {
         my $crsid=$_;
-        if (&reply('log:'.$ENV{'course.'.$crsid.'.domain'}.':'.
-		          $ENV{'course.'.$crsid.'.num'}.':'.
-		           &escape($courselogs{$crsid}),
-		          $ENV{'course.'.$crsid.'.home'}) eq 'ok') {
+        if (&reply('log:'.$coursedombuf{$crsid}.':'.
+		          &escape($courselogs{$crsid}),
+		          $coursehombuf{$crsid}) eq 'ok') {
 	    delete $courselogs{$crsid};
         } else {
             &logthis('Failed to flush log buffer for '.$crsid);
@@ -785,6 +787,11 @@ sub courselog {
     my $what=shift;
     $what=time.':'.$what;
     unless ($ENV{'request.course.id'}) { return ''; }
+    $coursedombuf{$ENV{'request.course.id'}}=
+       $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.':'.
+       $ENV{'course.'.$ENV{'request.course.id'}.'.num'};
+    $coursehombuf{$ENV{'request.course.id'}}=
+       $ENV{'course.'.$ENV{'request.course.id'}.'.home'};
     if (defined $courselogs{$ENV{'request.course.id'}}) {
 	$courselogs{$ENV{'request.course.id'}}.='&'.$what;
     } else {
@@ -1148,7 +1155,8 @@ sub cstore {
     } keys %$storehash;
     $namevalue=~s/\&$//;
     &courselog($symb.':'.$stuname.':'.$domain.':CSTORE:'.$namevalue);
-    return critical("store:$domain:$stuname:$namespace:$symb:$namevalue","$home");
+    return critical
+                ("store:$domain:$stuname:$namespace:$symb:$namevalue","$home");
 }
 
 # --------------------------------------------------------------------- Restore
@@ -1164,7 +1172,11 @@ sub restore {
     } else {
       $symb=&escape($symb);
     }
-    if (!$namespace) { unless ($namespace=$ENV{'request.course.id'}) { return ''; } }
+    if (!$namespace) { 
+       unless ($namespace=$ENV{'request.course.id'}) { 
+          return ''; 
+       } 
+    }
     if (!$domain) { $domain=$ENV{'user.domain'}; }
     if (!$stuname) { $stuname=$ENV{'user.name'}; }
     if (!$home) { $home=$ENV{'user.home'}; }