freebsd-ports/games/cowsay/files/patch-cowsay
Carlos J. Puga Medina e4c12395ca - Partially fix cowsay UTF-8 handling
- Bump PORTREVISION

PR:	211614
Submitted by:	Aleksander Alekseev <afiskon@devzen.ru>
Approved by:	Nikolai Lifanov (maintainer), junovitch (mentor)
2016-08-10 10:11:50 +00:00

45 lines
1 KiB
Text

$NetBSD: patch-aa,v 1.1.1.1 2000/03/25 20:13:24 jlam Exp $
--- cowsay.orig 2016-06-25 02:45:15 UTC
+++ cowsay
@@ -7,11 +7,18 @@
##
use Text::Tabs qw(expand);
-use Text::Wrap qw(wrap fill $columns);
+use Text::Wrap qw(wrap $columns);
use File::Basename;
use Getopt::Std;
use Cwd;
+if (${^UTF8LOCALE}) {
+ binmode STDIN, ':utf8';
+ binmode STDOUT, ':utf8';
+ require Encode;
+ eval { $_ = Encode::decode_utf8($_,1) } for @ARGV;
+}
+
$version = "3.03";
$progname = basename($0);
$eyes = "oo";
@@ -185,3 +192,20 @@ Usage: $progname [-bdgpstwy] [-h] [-e ey
[-l] [-n] [-T tongue] [-W wrapcolumn] [message]
EOF
}
+
+sub fill {
+ my ($ip, $xp, @raw) = @_;
+ my @para;
+ my $pp;
+
+ for $pp (split(/\n\s+/, join("\n",@raw))) {
+ $pp =~ s/\s+/ /g;
+ my $x = wrap($ip, $xp, $pp);
+ push(@para, $x);
+ }
+
+ # if paragraph_indent is the same as line_indent,
+ # separate paragraphs with blank lines
+
+ return join ($ip eq $xp ? "\n\n" : "\n", @para);
+}