From d920bbadb94684287f70e50ded2a35d65186c188 Mon Sep 17 00:00:00 2001 From: Andriy Gapon Date: Sun, 29 Oct 2006 02:59:53 +0300 Subject: parser: accept negative numbers in geometry co-ordinates (bug #8763) Accept negative co-ordinates for geometry, per the spec. --- xkbparse.y | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/xkbparse.y b/xkbparse.y index b50b9e8..662325b 100644 --- a/xkbparse.y +++ b/xkbparse.y @@ -136,7 +136,7 @@ DoodadDef *doodad; XkbFile *file; } -%type Number Integer Float +%type Number Integer Float SignedNumber %type XkbCompositeType FileType MergeMode OptMergeMode KeySym %type DoodadType Flag Flags OptFlags %type KeyName MapName OptMapName @@ -534,7 +534,7 @@ CoordList : CoordList COMMA Coord { $$= $1; } ; -Coord : OBRACKET Number COMMA Number CBRACKET +Coord : OBRACKET SignedNumber COMMA SignedNumber CBRACKET { ExprDef *expr; expr= ExprCreate(ExprCoord,TypeUnknown); @@ -746,6 +746,10 @@ KeySym : IDENT } ; +SignedNumber : MINUS Number { $$= -$2; } + | Number { $$= $1; } + ; + Number : FLOAT { $$= scanInt; } | INTEGER { $$= scanInt*XkbGeomPtsPerMM; } ; -- cgit v1.2.1