From 9a4511481fab805eea625dff3e15b245918ec698 Mon Sep 17 00:00:00 2001 From: Yu Zhai Date: Wed, 10 Feb 2021 12:30:09 +0800 Subject: [PATCH] Fixed linking in build_epub.pl --- build/tools/build_epub.pl | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/build/tools/build_epub.pl b/build/tools/build_epub.pl index e12bb7f7..edd193b6 100755 --- a/build/tools/build_epub.pl +++ b/build/tools/build_epub.pl @@ -84,19 +84,24 @@ sub clean_name return 'i' . $name; } +my $link_pos; + +sub Pod::PseudoPod::HTML::start_L +{ + my $self = shift; + $link_pos = length($self->{scratch}); +} + sub Pod::PseudoPod::HTML::end_L { my $self = shift; - if ($self->{scratch} =~ s/\b(\w+)$//) - { - my $link = $1; - die "Unknown link $link\n" unless exists $anchors->{$link}; - $self->{scratch} .= - '' - . $anchors->{$link}[1] . "($link)"; - } + my $link = substr($self->{scratch}, $link_pos); + + die "Unknown link $link\n" unless exists $anchors->{$link}; + + substr($self->{scratch}, $link_pos, length($link), + '" + . $anchors->{$link}[1] . ''); } for my $chapter (@chapters)