From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-2.9 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 shortcircuit=no autolearn=unavailable version=3.3.2 X-Original-To: meta@public-inbox.org Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id D8EBE20104 for ; Mon, 21 Sep 2015 11:11:15 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 5/6] remove bytes:: for length checks Date: Mon, 21 Sep 2015 11:11:11 +0000 Message-Id: <20150921111112.18873-6-e@80x24.org> In-Reply-To: <20150921111112.18873-1-e@80x24.org> References: <20150921111112.18873-1-e@80x24.org> List-Id: Apparently, my mental model of Perl internals is still incorrect after all these years. I am but a simple *nix programmer: everything is a bag of bytes to me. This fixes a problem with UTF-8 headers from Xapian (via "XHDR Subject [range]") triggering partial writes and writing an extra newline to the outputs. --- lib/PublicInbox/Filter.pm | 2 +- lib/PublicInbox/GitCatFile.pm | 2 +- lib/PublicInbox/NNTP.pm | 6 +++--- public-inbox-nntpd | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/PublicInbox/Filter.pm b/lib/PublicInbox/Filter.pm index 84df0e7..cab6aad 100644 --- a/lib/PublicInbox/Filter.pm +++ b/lib/PublicInbox/Filter.pm @@ -233,7 +233,7 @@ sub replace_body { sub recheck_type_ok { my ($part) = @_; my $s = $part->body; - ((bytes::length($s) < 0x10000) && + ((length($s) < 0x10000) && ($s =~ /\A([\P{XPosixPrint}\f\n\r\t]+)\z/)) } diff --git a/lib/PublicInbox/GitCatFile.pm b/lib/PublicInbox/GitCatFile.pm index dd3f291..48ae673 100644 --- a/lib/PublicInbox/GitCatFile.pm +++ b/lib/PublicInbox/GitCatFile.pm @@ -41,7 +41,7 @@ sub cat_file { my ($self, $object, $sizeref) = @_; $object .= "\n"; - my $len = bytes::length($object); + my $len = length($object); $self->_cat_file_begin; my $written = syswrite($self->{out}, $object); diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index fb93330..2b580d1 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -771,9 +771,9 @@ sub do_more ($$) { if (MSG_MORE && !$self->{write_buf_size}) { my $n = send($self->{sock}, $data, MSG_MORE); if (defined $n) { - my $dlen = bytes::length($data); + my $dlen = length($data); return 1 if $n == $dlen; # all done! - $data = bytes::substr($data, $n, $dlen - $n); + $data = substr($data, $n, $dlen - $n); } } $self->do_write($data); @@ -813,7 +813,7 @@ again: } return $self->close if $r < 0; - my $len = bytes::length($self->{rbuf}); + my $len = length($self->{rbuf}); return $self->close if ($len >= LINE_MAX); } diff --git a/public-inbox-nntpd b/public-inbox-nntpd index 0395e98..674ecad 100644 --- a/public-inbox-nntpd +++ b/public-inbox-nntpd @@ -172,13 +172,13 @@ sub sockname { my ($s) = @_; my $n = getsockname($s) or return; my ($port, $addr); - if (bytes::length($n) >= 28) { + if (length($n) >= 28) { require Socket6; ($port, $addr) = Socket6::unpack_sockaddr_in6($n); } else { ($port, $addr) = Socket::sockaddr_in($n); } - if (bytes::length($addr) == 4) { + if (length($addr) == 4) { $n = Socket::inet_ntoa($addr) } else { $n = '['.Socket6::inet_ntop(Socket6::AF_INET6(), $addr).']'; -- EW