[X2Go-Commits] [x2goserver] 93/99: x2goserver/bin/x2goupdateoptionsstring: encode/decode to/from shell locale.

git-admin at x2go.org git-admin at x2go.org
Mon Dec 28 06:10:54 CET 2020


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch master
in repository x2goserver.

commit 6a1db5094aa6facdef6eaf61c0976c56757e6333
Author: Mihai Moldovan <ionic at ionic.de>
Date:   Sun Dec 27 07:43:38 2020 +0100

    x2goserver/bin/x2goupdateoptionsstring: encode/decode to/from shell locale.
---
 debian/changelog                       |  2 ++
 x2goserver/bin/x2goupdateoptionsstring | 18 +++++++++++++++---
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 9a23c5dd..9b39beab 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -374,6 +374,8 @@ x2goserver (4.1.0.4-0x2go1.2) UNRELEASED; urgency=medium
       is mandatory after the -m or --mode switch.
     - X2Go/Server/Agent/NX/Options.pm: document key-value pair extraction.
     - x2goserver/bin/x2goupdateoptionsstring: fix some Perl::Critic warnings.
+    - x2goserver/bin/x2goupdateoptionsstring: encode/decode to/from shell
+      locale.
   * debian/control:
     + Build-depend upon lsb-release for distro version detection.
   * debian/x2goserver.manpages:
diff --git a/x2goserver/bin/x2goupdateoptionsstring b/x2goserver/bin/x2goupdateoptionsstring
index 9da8d6ec..75c9ccca 100755
--- a/x2goserver/bin/x2goupdateoptionsstring
+++ b/x2goserver/bin/x2goupdateoptionsstring
@@ -48,9 +48,21 @@ use X2Go::Server::Agent::NX::Options;
 use MIME::Base64 qw (encode_base64);
 use List::Util qw (max);
 use Encode qw (encode decode);
+use Encode::Locale;
+
+# Set up automatic encoding.
+if (-t STDIN) {
+  binmode STDIN,  ":encoding(console_in)";
+}
+if (-t STDOUT) {
+  binmode STDOUT, ":encoding(console_out)";
+}
+if (-t STDERR) {
+  binmode STDERR, ":encoding(console_out)";
+}
 
 # Convert data in ARGV.
-exit (Main (map { Encode::decode ('UTF-8', $_, (Encode::FB_CROAK | Encode::LEAVE_SRC)); } @ARGV));
+exit (Main (map { Encode::decode (locale => $_, (Encode::FB_CROAK | Encode::LEAVE_SRC)); } @ARGV));
 
 BEGIN {
 }
@@ -515,7 +527,7 @@ sub encode_base64_internal {
 
   if (!($error_detected)) {
     # Convert into bytes.
-    my $bytes = Encode::encode ("UTF-8", $input, (Encode::FB_CROAK | Encode::LEAVE_SRC));
+    my $bytes = Encode::encode (locale => $input, (Encode::FB_CROAK | Encode::LEAVE_SRC));
 
     # Encode the data.
     $ret = MIME::Base64::encode_base64 ($bytes, q{});
@@ -547,7 +559,7 @@ sub decode_base64_internal {
     my $decoded = MIME::Base64::decode_base64 ($input);
 
     # Convert into string.
-    $ret = Encode::decode ("UTF-8", $decoded, (Encode::FB_CROAK | Encode::LEAVE_SRC));
+    $ret = Encode::decode (locale => $decoded, (Encode::FB_CROAK | Encode::LEAVE_SRC));
   }
 
   return $ret;

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/x2goserver.git


More information about the x2go-commits mailing list