--- loncom/homework/radiobuttonresponse.pm	2005/06/27 21:51:29	1.103
+++ loncom/homework/radiobuttonresponse.pm	2005/12/06 10:03:57	1.105
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # mutliple choice style responses
 #
-# $Id: radiobuttonresponse.pm,v 1.103 2005/06/27 21:51:29 albertel Exp $
+# $Id: radiobuttonresponse.pm,v 1.105 2005/12/06 10:03:57 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -291,7 +291,7 @@ sub whichfoils {
     my ($truecnt,$falsecnt) = &getfoilcounts();
     my $count=0;
     # we will add in 1 of the true statements
-    if (($falsecnt+1)>$max) { $count=$max } else { $count=$falsecnt+1; }
+    if ( $max>0 && ($falsecnt+1)>$max) { $count=$max } else { $count=$falsecnt+1; $max=$count; }
     my $answer=int(&Math::Random::random_uniform() * ($count));
     &Apache::lonxml::debug("Count is $count, $answer is $answer");
     my @names;
@@ -522,10 +522,15 @@ sub displayanswers {
     my ($max,$randomize)=@_;
     my ($answer,@whichopt) = &whichfoils($max,$randomize);
     my $result=&Apache::response::answer_header('radiobuttonresponse');
+    if ($Apache::lonhomework::type eq 'exam') {
+	my $correct = ('A'..'Z')[$answer];
+	$result.=&Apache::response::answer_part('radiobuttonresponse',
+						$correct);
+    }
     foreach my $name (@whichopt) {
 	$result.=&Apache::response::answer_part('radiobuttonresponse',
-						$Apache::response::foilgroup{$name.'.value'})
-	}
+						$Apache::response::foilgroup{$name.'.value'});
+    }
     $result.=&Apache::response::answer_footer('radiobuttonresponse');
     return $result;
 }