Here are the test script and the patch. -- Nekral
#!/usr/bin/perl
use Text::WrapI18N; print "step 1\n"; print Text::WrapI18N::wrap('', ' ', '123 567 901 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); print "\n"; print "step 2\n"; print Text::WrapI18N::wrap('', ' ', '123 567 901 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); print "\n"; print "step 3\n"; print Text::WrapI18N::wrap('', ' ', '123 567 901 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); print "\n"; print "step 3\n"; print Text::WrapI18N::wrap('', ' ', '123 567 901 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); print "\n"; print "step 3\n";
--- /usr/share/perl5/Text/WrapI18N.pm.org 2003-06-25 11:14:25.000000000 +0200 +++ /usr/share/perl5/Text/WrapI18N.pm 2008-03-13 02:04:02.628000837 +0100 @@ -88,7 +88,7 @@ $len = 0; $text = $top2 . $text; $word = ''; $wlen = 0; - } elsif ($wlen + $w <= $columns) { + } elsif ($wlen + $w <= $columns - length ($top2)) { # the current word is sent to next line $out .= $separator; $len = 0;