+print `$updatecmd >/dev/null 2>&1`;
+
+my(@modules) = split (/\s+/, $modulelist);
+
+foreach my $module (@modules) {
+
+ print "<table border=\"0\" bgcolor=\"#000066\" cellpadding=\"5\" width=\"100%\">\n\n";
+ print "<tr><td>\n<font size=\"4\"><b><a href=\"/cgi-bin/cvs/viewcvs.cgi/$module\" style=\"color: white\">$module module</a></b></font>\n</td></tr>\n\n";
+ print "<tr><td bgcolor=\"white\">\n";
+
+ my(@lines) = `$logcmd $module 2>&1`;
+ if(@lines == 0) {
+ print "There have been no commits in this module during this period.\n";
+ }
+ else {
+ foreach my $line (@lines) {
+
+ if ($line =~ /^([0-9]{4}-[0-9]{2}-[0-9]{2}.*?)\s+([^\s]+)\s+<([^\s]+)>$/) {
+ print "\n<font color=\"blue\">\n<b>";
+ print HTML_encode($1);
+ print "</b>\n<i>";
+ print " commited by <a href=\"mailto:$3\" style=\"text-decoration: none;\">";
+ print HTML_encode("$2");
+ print "</a></i>\n</font>\n"
+ }
+ elsif ($line =~ /^([0-9]{4}-[0-9]{2}-[0-9]{2}.*?)\s+([^\s]+)$/) {
+ print "\n<font color=\"blue\">\n<b>";
+ print HTML_encode($1);
+ print "</b>\n<i>";
+ print " commited by ";
+ print HTML_encode("$2");
+ print "</i>\n</font>\n"
+ }
+ elsif($line =~ /(\S+) (\(\S+\))([,:])/ || $line =~ /(\S+) (\(\S+,\s+\S+\))([,:])/) {
+ #chop $line;
+ my ($file, $rest, $ext) = ($1, $2, $3);
+ print "<code>";
+ print "<a href=\"/cgi-bin/cvs/viewcvs.cgi/$file\" style=\"text-decoration: none;\">";
+ print HTML_encode($file);
+ print "</a> ";
+ if($rest =~ /\((\S+)\.(\d+)(.*)\)/) {
+ my $newrev = "$1.$2";
+ my $oldminver = $2-1;
+ my $oldrev = "$1.$oldminver";
+ if($2 != 1) {
+ my $diff = ".diff?r1=$oldrev&r2=$newrev";
+ print "(<a href=\"/cgi-bin/cvs/viewcvs.cgi/$file$diff\" style=\"text-decoration: none;\">";
+ print HTML_encode("$1.$2");
+ print "</a>";
+ print HTML_encode("$3)");
+ }
+ else {
+ print HTML_encode($rest);
+ }
+ }
+ else {
+ print HTML_encode($rest);
+ }
+ print HTML_encode($ext);
+ print "</code><br>\n"
+ }
+ else {
+ chop $line;
+ print "<code>";
+ print HTML_encode($line);
+ print "</code><br>\n"
+ }
+ }
+ }
+ print "</td></tr>\n";
+
+ print "</table><p>\n\n";