tag 521122 patch kthxbye On Tue, 2009-03-24 at 21:18 -0400, Celejar wrote: > On Wed, 25 Mar 2009 02:06:03 +0100 > Julien Cristau <jcris...@debian.org> wrote: > > ... > > > can you send your /etc/X11/xorg.conf file to this bug? > > Attached.
Thanks, the problem was the space in the XkbOptions value which my script didn't handle. The attached patch fixes that. Cheers, Julien
From d621fe355816546cb40f13f7b38e8d10504a3fcb Mon Sep 17 00:00:00 2001 From: Julien Cristau <jcris...@debian.org> Date: Wed, 25 Mar 2009 03:06:02 +0100 Subject: [PATCH] Adjust parsing of xorg.conf to handle spaces in option values * Handle comments when parsing xorg.conf. * Fix parsing of xorg.conf option values with embedded space characters. Reported by Celejar <cele...@gmail.com> (closes: #521122). --- debian/changelog | 8 ++++++++ debian/config.proto | 32 ++++++++++++++++++++++++-------- 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/debian/changelog b/debian/changelog index 6f7b9be..6530979 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +console-setup (1.30) UNRELEASED; urgency=low + + * Handle comments when parsing xorg.conf. + * Fix parsing of xorg.conf option values with embedded space characters. + Reported by Celejar <cele...@gmail.com> (closes: #521122). + + -- Julien Cristau <jcris...@debian.org> Wed, 25 Mar 2009 03:03:18 +0100 + console-setup (1.29) unstable; urgency=low [ Anton Zinoviev ] diff --git a/debian/config.proto b/debian/config.proto index a79c443..d2d5567 100644 --- a/debian/config.proto +++ b/debian/config.proto @@ -1172,20 +1172,36 @@ if [ -f /etc/X11/xorg.conf ] && which awk >/dev/null; then awk_expr=' BEGIN { state=0 } { + # get rid of comments + sub("#.*$", "") + if (state == 0) { if (tolower($1) == "section" && tolower($2) == "\"inputdevice\"") state = 1 } if (state == 1) { if (tolower($1) == "option") { - if (tolower($2) == "\"xkbmodel\"") - xkbmodel = $3 - if (tolower($2) == "\"xkblayout\"") - xkblayout = $3 - if (tolower($2) == "\"xkbvariant\"") - xkbvariant = $3 - if (tolower($2) == "\"xkboptions\"") - xkboptions = $3 + if (tolower($2) == "\"xkbmodel\"") { + $1 = "" + $2 = "" + sub("^ *", "") + xkbmodel = $0 + } else if (tolower($2) == "\"xkblayout\"") { + $1 = "" + $2 = "" + sub("^ *", "") + xkblayout = $0 + } else if (tolower($2) == "\"xkbvariant\"") { + $1 = "" + $2 = "" + sub("^ *", "") + xkbvariant = $0 + } else if (tolower($2) == "\"xkboptions\"") { + $1 = "" + $2 = "" + sub("^ *", "") + xkboptions = $0 + } } if (tolower($1) == "endsection") { if (xkblayout) { -- 1.6.2.1