--- loncom/homework/response.pm	2003/11/03 21:47:21	1.88
+++ loncom/homework/response.pm	2004/02/16 20:09:51	1.91
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # various response type definitons response definition
 #
-# $Id: response.pm,v 1.88 2003/11/03 21:47:21 albertel Exp $
+# $Id: response.pm,v 1.91 2004/02/16 20:09:51 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -111,8 +111,8 @@ sub meta_parameter_write {
     }
     $result.=            ' name="'.$name.'"'.
                          ' type="'.$type.'"'.
-($default?' default="'.$default.'"':'').
-($display?' display="'.$display.' [Part: '.$partref.']"':'')
+(defined($default)?' default="'.$default.'"':'').
+(defined($display)?' display="'.$display.' [Part: '.$partref.']"':'')
              .'></parameter>'
              ."\n";
     return $result;
@@ -456,7 +456,7 @@ sub showallfoils {
 }
 
 sub getresponse {
-    my ($temp)=@_;
+    my ($temp,$resulttype)=@_;
     my $formparm='form.HWVAL_'.$Apache::inputtags::response['-1'];
     my $response;
     if (!defined($temp)) {
@@ -476,7 +476,9 @@ sub getresponse {
 	# save bubbled letter for later
 	$Apache::lonhomework::results{"resource.$part.$id.scantron"}.=
 	    $response;
-	$response = $let_to_num{$response};
+	if ($resulttype ne 'letter') {
+	    $response = $let_to_num{$response};
+	}
     } else {
 	$response = $ENV{$formparm};
     }
@@ -500,6 +502,7 @@ sub scored_response {
 	if ($increase ne '') { $score+=$increase+1; }
     }
     my $weight = &Apache::lonnet::EXT("resource.$part.weight");
+    if (!defined($weight) || $weight eq '' || $weight eq 0) { $weight = 1; }
     my $pcr=$score/$weight;
     $Apache::lonhomework::results{"resource.$part.$id.awarded"}=$pcr;
     $Apache::lonhomework::results{"resource.$part.$id.awarddetail"}=
@@ -555,7 +558,6 @@ sub whichorder {
     for (my $i=0;$i<=$#bottomlist;$i++) {
 	if ($bottomlist[$i]) { push(@whichopt,$bottomlist[$i]) }
     }
-
     return @whichopt;
 }