aboutsummaryrefslogtreecommitdiff
path: root/xkbcomp
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-07-19 08:33:43 +0200
committermarha <marha@users.sourceforge.net>2013-07-19 08:33:43 +0200
commit45b71fd5b777a968310c537ace5efcd1443085a0 (patch)
treea3ef2b449659c3ba6c885d169c7796b3ef948867 /xkbcomp
parent08bafbbe05abefabdb0c3238c3d9ecdcce1b692f (diff)
parent89bc3ee988b62eb5e10284bac32a176955546410 (diff)
downloadvcxsrv-45b71fd5b777a968310c537ace5efcd1443085a0.tar.gz
vcxsrv-45b71fd5b777a968310c537ace5efcd1443085a0.tar.bz2
vcxsrv-45b71fd5b777a968310c537ace5efcd1443085a0.zip
Merge remote-tracking branch 'origin/released'
* origin/released: mesa xkbcomp git update 19 Jul 2013
Diffstat (limited to 'xkbcomp')
-rw-r--r--xkbcomp/xkbcomp.c4
-rw-r--r--xkbcomp/xkbscan.c11
2 files changed, 12 insertions, 3 deletions
diff --git a/xkbcomp/xkbcomp.c b/xkbcomp/xkbcomp.c
index 0dc5bc285..4e00c2ad6 100644
--- a/xkbcomp/xkbcomp.c
+++ b/xkbcomp/xkbcomp.c
@@ -579,8 +579,8 @@ parseArgs(int argc, char *argv[])
if ((i >= (argc - 1)) || (!isdigit(argv[i + 1][0])))
{
warningLevel = 0;
- if (isdigit(argv[i][1]))
- if (sscanf(&argv[i][1], "%i", &itmp) == 1)
+ if (isdigit(argv[i][2]))
+ if (sscanf(&argv[i][2], "%i", &itmp) == 1)
warningLevel = itmp;
}
else
diff --git a/xkbcomp/xkbscan.c b/xkbcomp/xkbscan.c
index 24b1e0f06..4c3fe3228 100644
--- a/xkbcomp/xkbscan.c
+++ b/xkbcomp/xkbscan.c
@@ -401,6 +401,7 @@ static int
yyGetKeyName(void)
{
int ch, i;
+ int last;
i = 0;
while (((ch = scanchar()) != EOF) && (ch != '>'))
@@ -466,12 +467,20 @@ yyGetKeyName(void)
if (i < sizeof(scanBuf) - 1)
scanBuf[i++] = ch;
}
+
+ if (i < sizeof(scanBuf) - i)
+ last = i;
+ else
+ last = sizeof(scanBuf) - 1;
+
+ scanBuf[last] = '\0';
+
if ((ch == '>') && (i < 5))
{
- scanBuf[i++] = '\0';
scanStrLine = lineNum;
return KEYNAME;
}
+
return ERROR_TOK;
}