| version 1.4, 2002/08/14 17:22:18 |
version 1.5, 2002/08/26 15:16:57 |
|
|
| # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
| # SUCH DAMAGE. |
# SUCH DAMAGE. |
| # |
# |
| # $FreeBSD: projects/cvsweb/cvsweb.cgi,v 1.119 2002/07/23 13:58:32 scop Exp $ |
# $FreeBSD: projects/cvsweb/cvsweb.cgi,v 1.119.2.4 2002/08/16 11:46:06 scop Exp $ |
| # $Id$ |
# $Id$ |
| # $Idaemons: /home/cvs/cvsweb/cvsweb.cgi,v 1.84 2001/10/07 20:50:10 knu Exp $ |
# $Idaemons: /home/cvs/cvsweb/cvsweb.cgi,v 1.84 2001/10/07 20:50:10 knu Exp $ |
| # |
# |
| Line 1608 sub doAnnotate($$) { |
|
| Line 1608 sub doAnnotate($$) { |
|
| $| = 1; |
$| = 1; |
| $| = 0; # Flush |
$| = 0; # Flush |
| |
|
| |
# Work around a mod_perl bug (?) in order to make open2() work. |
| |
# Search for "untie STDIN" in mod_perl mailing list archives. |
| |
my $old_stdin; |
| |
if ($is_mod_perl && ($old_stdin = tied *STDIN)) { |
| |
local $^W = undef; |
| |
untie *STDIN; |
| |
} |
| |
|
| # this annotate version is based on the |
# this annotate version is based on the |
| # cvs annotate-demo Perl script by Cyclic Software |
# cvs annotate-demo Perl script by Cyclic Software |
| # It was written by Cyclic Software, http://www.cyclic.com/, and is in |
# It was written by Cyclic Software, http://www.cyclic.com/, and is in |
| Line 1618 sub doAnnotate($$) { |
|
| Line 1626 sub doAnnotate($$) { |
|
| or fatal("500 Internal Error", |
or fatal("500 Internal Error", |
| 'Fatal Error - unable to open cvs for annotation'); |
'Fatal Error - unable to open cvs for annotation'); |
| |
|
| |
# Re-tie STDIN if we fiddled around with it earlier, just to be sure. |
| |
tie(*STDIN, ref($old_stdin), $old_stdin) if ($old_stdin && !tied(*STDIN)); |
| |
|
| # OK, first send the request to the server. A simplified example is: |
# OK, first send the request to the server. A simplified example is: |
| # Root /home/kingdon/zwork/cvsroot |
# Root /home/kingdon/zwork/cvsroot |
| # Argument foo/xx |
# Argument foo/xx |
|
|
| |
|
| # sub html_footer() {{{ |
# sub html_footer() {{{ |
| sub html_footer() { |
sub html_footer() { |
| print "<hr noshade>\n<address>$address</address>\n</body>\n</html>\n"; |
print "<hr noshade>\n<address>$address</address>\n" if $address; |
| |
print "</body>\n</html>\n"; |
| } # }}} |
} # }}} |
| |
|
| # sub link_tags($) {{{ |
# sub link_tags($) {{{ |