Daniel Stone
a0e756fd83
Introduce xkb_atom_t type
...
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-03-09 19:30:31 +00:00
Daniel Stone
0bb24c2d23
Introduce xkb_keysym_t type
...
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-03-09 19:30:31 +00:00
Daniel Stone
731e5c40bc
Stringify public name types
...
Ensure that all names under xkb_desc are strings, rather than atoms.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-03-09 19:30:31 +00:00
Daniel Stone
57b551a418
Ensure we always have a complete keymap
...
Refuse to compile without keycodes + compat + types + symbols.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-03-09 19:30:31 +00:00
Daniel Stone
4bc451bf08
Convert CompileKeymap to early-return style
...
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-03-09 19:30:30 +00:00
Daniel Stone
59e03bf5f2
Use compile_keymap in xkb_compile_keymap_from_components
...
We already had this exact function sitting right next to us, so use it
rather than open-coding.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-03-09 19:30:30 +00:00
Daniel Stone
73919568b0
Add explicit braces
...
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-03-09 19:30:30 +00:00
Daniel Stone
aa41ab2918
xkbcomp: Turn an array into an anonymous struct
...
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-03-09 19:30:30 +00:00
Daniel Stone
ed5c6c1796
Remove geometry support, again
...
It still parses geometry, but happily throws it away.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-03-09 19:30:30 +00:00
Daniel Stone
b28823cc59
Remove KcCGST names from the map
...
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-03-09 16:04:00 +00:00
Daniel Stone
ed18e65eac
Merge remote-tracking branch 'ran/fixes-cont'
...
Conflicts:
src/xkbcomp/expr.c
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-03-05 15:07:28 +00:00
Daniel Stone
65e1ff2f0a
Merge remote-tracking branch 'ran/fixes'
2012-03-05 15:00:39 +00:00
Ran Benita
e4b4d6b051
Fix "Could not resolve keysym" errors
...
On many layouts, the following error appears:
Internal error: Could not resolve keysym 10005b0
(Which is like the trademark of libxkbcommon now, and makes
unicode-heavy symbol files pretty useless).
This occurs when a keysym string (in this case, 10005b0) is passed to
xkb_string_to_keysym, but cannot be resolved.
This in turn happens because the parser passes on hexadecimal keysym
strings without the leading "0x", thus leaving the resolving function
without a way to disambiguate it as a number.
Therefore, make sure to pass on the "0x". The file symbols.c in xkbcomp
project does the same; it probably got lost in translation.
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-04 00:04:04 +02:00
Ran Benita
2473444f92
Refactor XkbFindFileInPath
...
Also fixes a bug, where the check (typeLen < 1) should have been
(pathLen < 1).
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-04 00:04:04 +02:00
Ran Benita
19e99bb27a
Free all atoms along with keymap
...
The code to do this is taken from xserver, dix/atom.c.
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-04 00:04:04 +02:00
Ran Benita
d94d9b4522
Free IncludePath when no longer needed
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-04 00:04:04 +02:00
Ran Benita
1e6f956e36
Free scanFile when no longer needed
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-04 00:04:04 +02:00
Ran Benita
e4447f8131
Fix other misc leaks
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-04 00:04:04 +02:00
Ran Benita
30d88b93e7
Don't leak the scanner's buffer
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-04 00:04:04 +02:00
Ran Benita
c24d97e45e
Don't leak DoodadInfo's from GeometryInfo
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-04 00:04:04 +02:00
Ran Benita
c800c60ace
Don't leak ActionInfo's
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-04 00:04:04 +02:00
Ran Benita
d67e73bdbd
Don't leak KeyNamesInfo
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-04 00:04:04 +02:00
Ran Benita
5c40bee62a
Don't leak the "minimum"/"maximum" string
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-04 00:04:04 +02:00
Ran Benita
c50c87bca2
Don't leak the various *Info's names when overriding them
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-04 00:04:04 +02:00
Ran Benita
889a299e3b
Free XkbFile's when no longer needed
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-04 00:04:04 +02:00
Ran Benita
c357a11aa6
Add function to free XkbFile's
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-04 00:04:04 +02:00
Ran Benita
3216ecc07f
Don't cache loaded rules files
...
This needlessly occupies memory for the lifetime of the library, and
does not make a noticeable difference otherwise.
This rules file won't be loaded more than once in most cases anyway, so
just load it again when it happens.
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-04 00:02:14 +02:00
Ran Benita
ca9829ea66
Don't cache parsed files
...
This needlessly occupies memory for the lifetime of the library, and
does not make a noticeable difference otherwise.
Instead, just parse the same file again when it happens.
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-03 23:59:43 +02:00
Ran Benita
a64e970809
Remove unneeded freeing mechanisms
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-03 01:17:57 +02:00
Ran Benita
c7bf368780
Make the sections array local to the keymap compiling function
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-03 01:17:57 +02:00
Ran Benita
baf6a677dc
Remove unused global type tokens
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-03 01:17:57 +02:00
Ran Benita
f549ce078f
Use global tables for action string handling
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-03 01:17:57 +02:00
Ran Benita
d2c3dd0c21
Constify some more text functions
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-03 01:17:57 +02:00
Ran Benita
eb738b13ce
Constify global tables
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-03 01:17:57 +02:00
Ran Benita
266dfae589
Remove useless casts
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-03 01:17:57 +02:00
Ran Benita
4bc839ab89
Use memset instead of bzero
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-02 22:41:20 +02:00
Ran Benita
a3e40917ee
Remove return's at the end of void functions
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-02 22:41:20 +02:00
Ran Benita
f278cea107
Remove all uses of the register keyword
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-02 22:41:20 +02:00
Ran Benita
6a34e4e19a
Don't check for NULL before free()
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-03-02 22:41:20 +02:00
Ran Benita
c41061a005
Use yacc-generated header instead of tokens.h
...
The yacc implementation can generate all the necessary token
definitions itself; there is no need to maintain a hand written
file for that.
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-02-26 21:45:29 +02:00
Ran Benita
744527e9a9
Fix remaining warnings
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-02-25 12:00:10 +02:00
Ran Benita
eff72fab5d
Fix warnings in scanner and parser
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-02-25 12:00:10 +02:00
Ran Benita
1d969c5cf6
Fix an incorrect sizeof
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-02-25 12:00:10 +02:00
Ran Benita
f3e4335fc6
Fix all constness warnings
...
These are all trivial/obvious fixes which clear a bunch of warnings.
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-02-25 12:00:10 +02:00
Ran Benita
cca1c05097
Fix possible null dereferences
...
Fix all reported null dereferences from clang-analyzer.
There seems to be one false negative (in file indicators.c), but it is
fixed anyway.
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-02-25 12:00:10 +02:00
Ran Benita
9005624f94
Remove unneeded assignments and variables
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-02-25 11:59:56 +02:00
Ran Benita
a0dd052644
Remove unused includes of "tokens.h"
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-02-25 11:59:56 +02:00
Ran Benita
9ad0be3358
Remove unused debug #defines
...
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-02-25 11:11:10 +02:00
Daniel Stone
90f04e042b
Perform bounds checking in ExprResolveLevel
...
Both callers perform the same bounds check, so move it into
ExprResolveLevel itself.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-02-20 18:07:29 +00:00
Daniel Stone
1ab058bbb3
Fix typo in ExprResolveKeyCode
...
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-02-20 17:47:46 +00:00