user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* [PATCH] nntp: fixup "Wide character" warnings
  @ 2016-05-13 12:17  7% ` Eric Wong
  0 siblings, 0 replies; 1+ results
From: Eric Wong @ 2016-05-13 12:17 UTC (permalink / raw)
  To: meta

We need Perl to believe everything we send is UTF-8,
make it so, even if it may not be.

Fixes: 265e79ff82ce 'Revert "nntp: proper UTF-8 support (hopefully?)"'
---
 lib/PublicInbox/NNTP.pm | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm
index d177bdc..a632148 100644
--- a/lib/PublicInbox/NNTP.pm
+++ b/lib/PublicInbox/NNTP.pm
@@ -16,6 +16,8 @@ use Data::Dumper qw(Dumper);
 use POSIX qw(strftime);
 use Time::HiRes qw(clock_gettime CLOCK_MONOTONIC);
 use URI::Escape qw(uri_escape_utf8);
+use Encode qw(find_encoding);
+my $enc_utf8 = find_encoding('UTF-8');
 use constant {
 	r501 => '501 command syntax error',
 	r221 => '221 Header follows',
@@ -900,6 +902,7 @@ sub cmd_xpath ($$) {
 
 sub res ($$) {
 	my ($self, $line) = @_;
+	$line = $enc_utf8->encode($line);
 	do_write($self, $line . "\r\n");
 }
 
@@ -934,6 +937,7 @@ use constant MSG_MORE => ($^O eq 'linux') ? 0x8000 : 0;
 
 sub do_more ($$) {
 	my ($self, $data) = @_;
+	$data = $enc_utf8->encode($data);
 	if (MSG_MORE && !$self->{write_buf_size}) {
 		my $n = send($self->{sock}, $data, MSG_MORE);
 		if (defined $n) {

^ permalink raw reply related	[relevance 7%]

Results 1-1 of 1 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2016-05-13 11:37     [PATCH] Revert "nntp: proper UTF-8 support (hopefully?)" Eric Wong
2016-05-13 12:17  7% ` [PATCH] nntp: fixup "Wide character" warnings Eric Wong

Code repositories for project(s) associated with this public inbox

	https://80x24.org/public-inbox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).