=================================================================== RCS file: /cvs/cvsweb/cvsweb.cgi,v retrieving revision 1.1.1.6 retrieving revision 3.23 diff -u -p -r1.1.1.6 -r3.23 --- cvsweb/cvsweb.cgi 2000/09/19 20:14:40 1.1.1.6 +++ cvsweb/cvsweb.cgi 2000/09/19 19:57:58 3.23 @@ -43,7 +43,7 @@ # SUCH DAMAGE. # # $zId: cvsweb.cgi,v 1.101 2000/09/13 22:44:05 jumager Exp $ -# $kId: cvsweb.cgi,v 1.24 2000/09/19 20:07:16 knu Exp $ +# $Id: cvsweb.cgi,v 3.23 2000/09/19 19:57:58 knu Exp $ # ### @@ -90,8 +90,6 @@ sub fatal($$); sub redirect($); sub safeglob($); sub getMimeTypeFromSuffix($); -sub head($;$); -sub scan_directives(@); sub doAnnotate($$); sub doCheckout($$); sub cvswebMarkup($$$); @@ -1077,40 +1075,6 @@ sub getMimeTypeFromSuffix($) { } ############################### -# read first lines like head(1) -############################### -sub head($;$) { - my $fh = $_[0]; - my $linecount = $_[1] || 10; - - my @buf; - - if ($linecount > 0) { - my $i; - for ($i = 0; !eof($fh) && $i < $linecount; $i++) { - push @buf, scalar <$fh>; - } - } else { - @buf = <$fh>; - } - - @buf; -} - -############################### -# scan vim and Emacs directives -############################### -sub scan_directives(@) { - my $ts = undef; - - for (@_) { - $ts = $1 if /\b(?:ts|tabstop|tab-width)[:=]\s*([1-9]\d*)\b/; - } - - ('tabstop' => $ts); -} - -############################### # show Annotation ############################### sub doAnnotate($$) { @@ -1211,15 +1175,7 @@ sub doAnnotate($$) { else { print "
";
     }
-
-    # prefetch several lines
-    my @buf = head($reader);
-
-    my %d = scan_directives(@buf);
-
-    while (@buf || !eof($reader)) {
-	$_ = @buf ? shift @buf : <$reader>;
-
+    while (<$reader>) {
 	my @words = split;
 	# Adding one is for the (single) space which follows $words[0].
 	my $rest = substr ($_, length ($words[0]) + 1);
@@ -1253,7 +1209,7 @@ sub doAnnotate($$) {
 
 	    print "" if ($isCurrentRev);
 	    printf ("%8s%s%8s %4d:", $revprint, ($isCurrentRev ? "|" : " "), $usrprint, $lineNr);
-	    print spacedHtmlText($line, $d{'tabstop'});
+	    print spacedHtmlText($line);
 	    print "" if ($isCurrentRev);
 	}
 	elsif ($words[0] eq "ok") {
@@ -1396,6 +1352,7 @@ sub cvswebMarkup($$$) {
 	    $input{only_with_tag};
     }
     print "";
+    my @content = <$filehandle>;
     my $url = download_url($fileurl, $revision, $mimetype);
     print "
"; if ($mimetype =~ /^image/) { @@ -1406,16 +1363,8 @@ sub cvswebMarkup($$$) { } else { print "
";
-
-	# prefetch several lines
-	my @buf = head($filehandle);
-
-	my %d = scan_directives(@buf);
-
-	while (@buf || !eof($filehandle)) {
-	    $_ = @buf ? shift @buf : <$filehandle>;
-
-	    print spacedHtmlText($_, $d{'tabstop'});
+	foreach (@content) {
+	    print spacedHtmlText($_);
 	}
 	print "
"; } @@ -2305,7 +2254,7 @@ sub flush_diff_rows($$$$) { # human_readable_diff(String revision_to_return_to); ## sub human_readable_diff($){ - my ($difftxt, $where_nd, $filename, $pathname, $scriptwhere_nd); + my ($i,$difftxt, $where_nd, $filename, $pathname, $scriptwhere_nd); my ($fh, $rev) = @_; my ($date1, $date2, $r1d, $r2d, $r1r, $r2r, $rev1, $rev2, $sym1, $sym2); my (@rightCol, @leftCol); @@ -2359,15 +2308,9 @@ sub human_readable_diff($){ # cascading style sheets because we've to set the # font and color for each row. anyone ...? #### + while (<$fh>) { + $difftxt = $_; - # prefetch several lines - my @buf = head($fh); - - my %d = scan_directives(@buf); - - while (@buf || !eof($fh)) { - $difftxt = @buf ? shift @buf : <$fh>; - if ($difftxt =~ /^@@/) { ($oldline,$newline,$funname) = $difftxt =~ /@@ \-([0-9]+).*\+([0-9]+).*@@(.*)/; print ""; @@ -2383,7 +2326,7 @@ sub human_readable_diff($){ } else { ($diffcode,$rest) = $difftxt =~ /^([-+ ])(.*)/; - $_ = spacedHtmlText($rest, $d{'tabstop'}); + $_ = spacedHtmlText ($rest); # Add fontface, size $_ = "$fs $_$fe"; @@ -2467,7 +2410,7 @@ sub navigateHeader($$$$$) { $swhere = urlencode($filename) if ($swhere eq ""); print "<\!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">"; print "\n\n"; - print ''; + print ''; print "\n$path$filename - $title - $rev\n"; print "\n"; print ""; @@ -2822,7 +2765,7 @@ sub http_header(;$) { sub html_header($) { my ($title) = @_; - my $version = '$zRevision: 1.101 $ $kRevision: 1.24 $'; #' + my $version = '$zRevision: 1.101 $ $Revision: 3.23 $'; #' http_header(); print <