[X2Go-Commits] [x2goserver] 01/01: x2goserver/bin/x2gosetkeyboard: only match up the first ending quote character in a non-greedy way.

git-admin at x2go.org git-admin at x2go.org
Thu Mar 9 08:59:23 CET 2017


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

x2go pushed a commit to branch release/4.0.1.x
in repository x2goserver.

commit c9a6fd51017d30317277144376f29bec6e4134bd
Author: Mihai Moldovan <ionic at ionic.de>
Date:   Thu Mar 9 08:58:58 2017 +0100

    x2goserver/bin/x2gosetkeyboard: only match up the first ending quote character in a non-greedy way.
    
    This will not support nested quotes within values, but we probably don't
    need this feature anyway.
---
 debian/changelog               | 3 +++
 x2goserver/bin/x2gosetkeyboard | 5 ++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index e3c531c..dc3ed6b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -22,6 +22,9 @@ x2goserver (4.0.1.21-0x2go1) UNRELEASED; urgency=medium
       the first match. In the $BASH_REMATCH array, index 0 contains the *full*
       match, while indices 1+ only contain the partial matches. We're only
       interested in the first partial match.
+    - x2goserver/bin/x2gosetkeyboard: only match up the first ending quote
+      character in a non-greedy way. This will not support nested quotes
+      within values, but we probably don't need this feature anyway.
   * x2goserver.spec:
     - Add mandatory perl-generators Build-Requires as per
       https://fedoraproject.org/wiki/Changes/Build_Root_Without_Perl
diff --git a/x2goserver/bin/x2gosetkeyboard b/x2goserver/bin/x2gosetkeyboard
index ed8b1e7..483767e 100755
--- a/x2goserver/bin/x2gosetkeyboard
+++ b/x2goserver/bin/x2gosetkeyboard
@@ -72,7 +72,10 @@ read_keyboard_file() {
 		# Extract the keys, their values and add to setxkbmap_opts.
 		typeset key=''
 		for key in "rules" "model" "layout" "variant" "options"; do
-			typeset regexp='^[[:space:]]*'"${key}"'[[:space:]]*=[[:space:]]*"?(.*)"?[[:space:]]*'
+			# This does not support quotes characters within values. Shouldn't be necessary, anyway.
+			# Matching escaped quote characters is possible, but complicated and not worth the effort.
+			# Probably.
+			typeset regexp='^[[:space:]]*'"${key}"'[[:space:]]*=[[:space:]]*"?([^"]*)"?[[:space:]]*'
 			if [[ "${line}" =~ ${regexp} ]]; then
 				typeset value="${BASH_REMATCH[1]}"
 

--
Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git


More information about the x2go-commits mailing list