Benjamin Close <Benjamin.Close@xxxxxxxxxxxxxx> writes: >>From 83042abf3967b455953cddeab43e33c1d59c6f03 Mon Sep 17 00:00:00 2001 > From: Benjamin Close <Benjamin.Close@xxxxxxxxxxxxxx> > Date: Sun, 2 Dec 2007 15:09:00 -0800 > Subject: [PATCH] Gitweb: Fix encoding to always translate rather than > sometimes fail > > When performing the utf translation don't test if $res is defined. > It appears that it is defined even when the conversion fails. This causes > failures on the writing of the output stream which is expecting UTF. > @@ -696,12 +696,8 @@ sub validate_refname { > sub to_utf8 { > my $str = shift; > my $res; > - eval { $res = decode_utf8($str, Encode::FB_CROAK); }; > - if (defined $res) { > - return $res; > - } else { > - return decode($fallback_encoding, $str, Encode::FB_DEFAULT); > - } > + eval { return ($res = decode_utf8($str, Encode::FB_CROAK)); }; > + return decode($fallback_encoding, $str, Encode::FB_DEFAULT); > } This is funny. I thought the standard catch ... throw idiom in Perl was to do the above like this: my $res; eval { $res = decode_utf8($str, Encode::FB_CROAK); }; if ($@) { return decode($fallback_encoding, $str, Encode::FB_DEFAULT); } return $res; (alternatively, you can assign return value of eval {} to $res). - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html