[FarGroup/FarManager] master: Encode attributes containing control characters (< 0x20) in exported XMLs (75988bd2d)

0 views
Skip to first unread message

farg...@farmanager.com

unread,
Mar 7, 2026, 3:45:53 PMMar 7
to farco...@googlegroups.com
Repository : https://github.com/FarGroup/FarManager
On branch : master
Link : https://github.com/FarGroup/FarManager/commit/75988bd2d4903b22f8fdbbf0f09409a3ab9214ff

>---------------------------------------------------------------

commit 75988bd2d4903b22f8fdbbf0f09409a3ab9214ff
Author: Yegor Mialyk <16239726+y...@users.noreply.github.com>
Date: Sat Mar 7 12:25:19 2026 -0800

Encode attributes containing control characters (< 0x20) in exported XMLs


>---------------------------------------------------------------

75988bd2d4903b22f8fdbbf0f09409a3ab9214ff
far/changelog | 5 +++++
far/configdb.cpp | 2 +-
far/vbuild.m4 | 2 +-
3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/far/changelog b/far/changelog
index abc8a8939..6f0909708 100644
--- a/far/changelog
+++ b/far/changelog
@@ -1,3 +1,8 @@
+--------------------------------------------------------------------------------
+Yegor 2026-03-07 09:07:00-08:00 - build 6653
+
+1. Encode attributes containing control characters (< 0x20) in exported XMLs
+
--------------------------------------------------------------------------------
MZK 2026-03-01 14:50:19-05:00 - build 6652

diff --git a/far/configdb.cpp b/far/configdb.cpp
index 7c10c2ea7..3324943f6 100644
--- a/far/configdb.cpp
+++ b/far/configdb.cpp
@@ -124,7 +124,7 @@ static void SetAttribute(tinyxml::XMLElement& Element, const char* Name, T const
{
std::string_view const StrValue = Value;

- if (std::ranges::find_first_of(StrValue, "\r\n"sv) != StrValue.end())
+ if (std::ranges::any_of(StrValue, [](const unsigned char Char) { return Char < 0x20; }))
{
Element.SetAttribute(Name, base64::encode(view_bytes(StrValue)).c_str());
Element.SetAttribute(base64_tag(Name).c_str(), 1);
diff --git a/far/vbuild.m4 b/far/vbuild.m4
index 4b3a36f74..fd0858b95 100644
--- a/far/vbuild.m4
+++ b/far/vbuild.m4
@@ -1 +1 @@
-6652
+6653


Reply all
Reply to author
Forward
0 new messages