kc3-lang/libxkbcommon/src/xkbcomp

Branch :


Log

Author Commit Date CI Message
8b47dbbf 2012-02-20 15:47:38 Add ExprResolveButton helper Just a dumb wrapper around ExprResolveInteger. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
3431a089 2012-02-20 15:37:53 Introduce ExprResolveLevel helper Which returns an integer representing the level number represented by the given expression. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
193e9b39 2012-02-20 15:33:40 Introduce ExprResolveRadioGroup helper Just a tiny special-cased version of ExprResolveInteger. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
26285a7b 2012-02-20 14:15:08 Remove priv arguments from ExprResolveString They've never been used. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
b7b49eb0 2012-02-20 14:10:41 Remove priv arguments from ExprResolveKeySym They've never been used by its one caller. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
70033b13 2012-02-20 14:08:55 Remove priv arguments from ExprResolveKeyName They've never been used. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
482d4faa 2012-02-20 13:44:27 Remove priv arguments from ExprResolveBoolean They've never been used. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
94041575 2012-02-20 13:40:34 Remove priv arguments from ExprResolveFloat They've never been used. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
3151ce36 2012-02-20 13:34:36 Remove priv arguments from ExprResolveModMask What with them now being unused and all. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
67605d2c 2012-02-20 13:32:09 Introduce ExprResolveVModMask Which is just a slightly more typesafe wrapper around the chained ExprResolveModMask everyone was using earlier. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
fbb82199 2012-02-16 11:18:49 Respect explicit minimum/maximum keycodes Make sure we carry over an explicit minimum/maximum keycode setting, rather than just using the computed minimum/maximum; this got broken while changing the keycode range to be unsigned. Signed-off-by: Daniel Stone <daniel@fooishbar.org> Reported-by: Pekka Paalanen <ppaalanen@gmail.com>
c45cdb0c 2012-02-16 00:22:11 Still more memory leak fixes Signed-off-by: Daniel Stone <daniel@fooishbar.org>
83f18b1c 2012-02-15 19:39:33 Fix xkbparse.y compilation Thanks to autotools happily building stale generated sources, I hadn't actually ever built my xkbparse.y changes. Fix that so it not only compiles, but works. This seems to parse long keycodes correctly, although I very much would not recommend testing this by declaring 0x1fffffff as your highest keycode. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
eb8c96cb 2012-02-15 16:42:45 Don't leak SymbolsInfo Signed-off-by: Daniel Stone <daniel@fooishbar.org>
67c874d7 2012-02-15 16:24:07 Enable stderr debugging by default (If debugFlags is set to non-zero.) Signed-off-by: Daniel Stone <daniel@fooishbar.org>
1a6c3807 2012-02-15 15:58:14 vmod: Pass xkb_desc explicitly to vmod functions Some error paths don't set info->xkb correctly, so just do like most utility functions and pass the xkb_desc explicitly. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
4e228511 2012-02-15 14:34:08 Introduce xkb_keycode_t for keycodes And use it consistently everywhere, including with a special long-safe internal keycode type, to ease the transition to large keycodes. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
8f01b144 2012-02-15 12:54:11 xkbscan: Copy, rather than assign, file name For some reason, lex decided to reduce a strcpy into an assignment, leading to entirely justified valgrind warnings about invalid reads, when scanFile was set to a string which may have only ever lived on the stack of a now-exited function. Make it a strdup() instead. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
ead9d0cb 2012-02-15 11:49:10 Move include path from X11/extensions/ to xkbcommon/ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
615291f1 2012-01-05 14:20:35 xkbcomp: Silence warning of return of uninitialised value Some routes through HandleGeometryVar do not set a return value. Set a default value for the return variable to avoid returning an uninitialised value.
c19661b9 2011-12-16 12:52:00 Add xkbc_free_keymap helper Which just calls XkbcFreeKeyboard with the only arguments you'd ever pass it. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com> Signed-off-by: Daniel Stone <daniel@fooishbar.org>
99e29de2 2011-10-27 14:30:21 xkbcomp: Copy the string into the buffer rather than updating pointer Avoids assigning the global pointer to a value that may only have a stack lifetime: Fixes valgrind warnings such as: ==24795== Invalid read of size 1 ==24795== at 0x4A06E9A: strcpy (mc_replace_strmem.c:311) ==24795== by 0x4E54D68: ProcessIncludeFile (misc.c:73) ==24795== by 0x4E59726: HandleIncludeSymbols.constprop.3 (symbols.c:829) ==24795== by 0x4E59D8E: HandleSymbolsFile (symbols.c:1673) ==24795== by 0x4E5A068: CompileSymbols (symbols.c:2211) ==24795== by 0x4E51A61: CompileKeymap (keymap.c:155) ==24795== by 0x4E5B410: xkb_compile_keymap_from_components (xkbcomp.c:236) ==24795== by 0x4E5B587: xkb_compile_keymap_from_rules (xkbcomp.c:161) ==24795== by 0x405ED2: display_create (window.c:2007) ==24795== by 0x403732: main (desktop-shell.c:320) ==24795== Address 0x7fefff0a0 is just below the stack ptr. To suppress, use: --workaround-gcc296-bugs=yes ==24795== ==24795== Source and destination overlap in strcpy(0x7fefff430, 0x7fefff430) ==24795== at 0x4A06F3D: strcpy (mc_replace_strmem.c:311) ==24795== by 0x4E54D68: ProcessIncludeFile (misc.c:73) ==24795== by 0x4E59726: HandleIncludeSymbols.constprop.3 (symbols.c:829) ==24795== by 0x4E59D8E: HandleSymbolsFile (symbols.c:1673) ==24795== by 0x4E5A068: CompileSymbols (symbols.c:2211) ==24795== by 0x4E51A61: CompileKeymap (keymap.c:155) ==24795== by 0x4E5B410: xkb_compile_keymap_from_components (xkbcomp.c:236) ==24795== by 0x4E5B587: xkb_compile_keymap_from_rules (xkbcomp.c:161) ==24795== by 0x405ED2: display_create (window.c:2007) ==24795== by 0x403732: main (desktop-shell.c:320)
f91afe4f 2011-06-03 17:19:09 Add prototype for CheckDefaultMap(). Those warnings disappear accordingly: | CC parseutils.lo | parseutils.c:742: warning: no previous prototype for ‘CheckDefaultMap’ | CC xkbscan.lo | xkbscan.l: In function ‘XKBParseString’: | xkbscan.l:220: warning: implicit declaration of function ‘CheckDefaultMap’ | xkbscan.l:220: warning: nested extern declaration of ‘CheckDefaultMap’ Reviewed-by: Dirk Wallenstein <halsmit@t-online.de> Signed-off-by: Cyril Brulebois <kibi@debian.org>
621c2a7a 2011-01-29 14:24:46 Get rid of unneeded <X11/Xlib.h> include. There's no need for this xlib include: | YACC xkbparse.c | CC xkbparse.lo | xkbparse.y:98:22: error: X11/Xlib.h: No such file or directory Signed-off-by: Cyril Brulebois <kibi@debian.org> Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
a63e82be 2010-12-17 21:14:54 Rename XkbcInternAtom() to xkb_intern_atom() and export Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
f5076604 2010-12-07 11:09:13 config: let Automake handle Lex and Yacc dist and cleaning BUILT_SOURCES and MAINTAINERCLEAN are not needed for lex and yacc Note that xkbscan was missing on those lines. Automake generates all the rules to handle building, distribution and cleaning. Acked-by: Daniel Stone <daniel@fooishbar.org> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
63e2719a 2010-12-07 10:33:23 config: replace deprecated INCLUDES with AM_CPPFLAGS Fixes automake warning. Acked-by: Daniel Stone <daniel@fooishbar.org> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
ceba14dc 2010-12-07 10:23:18 config: update subdirs .gitignore Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
f8301ebc 2010-11-11 23:27:21 xkbscan: resolve build warning/rpmlint error xkbscan.l: In function 'setScanState': xkbscan.l:201:1: warning: control reaches end of non-void function I: Program returns random data in a function E: libxkbcommon no-return-in-nonvoid-function xkbscan.l:201 Change return type of setScanState to void, since a return value is never used by its callers. Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
c88439db 2010-10-20 22:27:07 Update xkb->ctrls->num_groups when copying the keysyms This used to be set when we read an XKM file.
12569157 2010-10-20 15:57:45 Restore compatible action structs This unbreaks the X server code to serialize an xkb_desc, but loses the 32 bit vmod fields. Needs some work...
a84c0879 2010-10-19 21:57:59 Use flex for generating the scanner, add support for parsing from strings Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
73ca959d 2010-09-27 16:05:52 Dead code removal and static markup Signed-off-by: Adam Jackson <ajax@redhat.com>
fb05ee47 2010-09-03 20:35:28 Remove libxkbfile dependency for real this time
20bfe128 2010-08-29 21:30:10 Use const char * in struct xkb_rule_names
be2bd661 2010-08-25 14:51:52 Pull in a few #defines from libxkbfile and lower kbproto requirement
b3805a23 2010-07-02 12:26:43 Get rid of a few unused #defines in public header
97fbc348 2010-07-02 12:14:03 Rename XkbRMLVOSet to struct xkb_rule_names
3f0034a9 2010-07-02 11:50:01 Rename public entry points to lowercase and underscore
9f602686 2010-07-01 14:35:24 Pull in enough structs and defines from XKBstr.h to only need XKB.h We want to move away from sharing implementation structs and let libX11 and libxkbcommon use each their own set of structs.
e10e16ad 2010-06-30 17:20:56 Constify XkbcAtomText() Atoms aren't mutable and this lets us put tbGetBuffer() back in the box.
0ece2cdb 2010-06-30 16:56:24 Drop more malloc/free wrappers
a76df865 2010-06-30 16:33:25 Use the right action structs We were casting the union members to the wrong action structs (from kbproto).
1723ef1b 2010-06-30 15:48:39 Copy over missing action structs from kbproto
9258cc3d 2010-06-30 13:31:21 Rename Xkbc*Action to struct xkb_*_action
399d4bd6 2010-06-28 06:58:01 Drop malloc wrappers
47d3b396 2010-06-28 06:50:12 Drop CARD32 and Opaque types
2fb329c9 2010-06-23 16:25:10 Copy and duplicate XkbModsRec and XkbKTMapEntryRec Copy these types in so we can extend the vmod size. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
8693c265 2010-06-22 15:54:52 Add really rudimentary rules caching support Keep the parsed form of the last-used rules file around, and reuse that if we get asked for the same ruleset. If not, bin it and cache the other one. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
7257d4c8 2010-06-21 14:28:34 Use CARD32 instead of Atom, move geom headers in Use CARD32 instead of Atom/KeySym/et al to avoid type size confusion between server and non-server code; relatedly, move the geometry headers in from kbproto, so every non-simple type (i.e. structs containing nothing more than basic types) is now copied into xkbcommon. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
b3852542 2010-06-21 14:27:58 Interp: More lazy keysym resolution Resolve the keysyms when we create an InterpDef, rather than directly in the parser. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
15b0db54 2010-06-17 05:56:08 Copy in XkbCompatMapRec and XkbSymInterpretRec These contain actions, so transition them ahead to XkbcAction and move them into XKBcommon.h. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
60e7eeeb 2010-06-17 03:16:09 Use CARD32 instead of Atom, drag in XkbClientMapRec On 64-bit architectures, XID varies in size between the server (always 32 bits), and non-server (always unsigned long) for some inexplicable reason. Use CARD32 instead to avoid this horrible trap. This involves dragging in XkbClientMapRec so we don't get stuck in the KeySym trap. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
d2d787df 2010-06-17 00:51:49 Regroup actions into current vs. deprecated, resize vmod Use Xkbc* for all our actions that we intend to keep around, and Xkb* for deprecated ones we can hopefully get rid of, at least internally. While we're at it, make vmods be a uint32_t. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
e564235b 2010-06-15 19:43:14 xkbcomp: Don't malloc() and free() most scanned tokens Use a constant buffer instead. Sigh. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
f246db20 2010-06-15 19:40:31 Fix compilation with DEBUG Signed-off-by: Daniel Stone <daniel@fooishbar.org>
acc467de 2010-06-15 19:39:15 xkbcomp: Use fread() instead of getc() So, it turns out that if you're parsing a fairly large amount of data, using getc() to get all the input rather than, say, read(), is some kind of remarkably daft and unperformant idea. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
240a0c34 2010-06-15 19:38:16 xkbcomp: Lazy keysym parsing (avoid XStringToKeysym) Instead of calling XStringToKeysym on every keysym we parse, store it as a string until we need to store it in an actual keymap. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
4346e006 2010-06-15 16:41:10 xkbcomp: keycodes: Silence gcc warnings It was right to warn us: some of these were actually bogus. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
5df3dff7 2010-06-15 15:27:12 xkbcomp: geometry: Plug numerous atom text & expr leaks This code is absolute misery. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
18039a6c 2010-06-15 15:25:40 xkbcomp: Atom text and expr leak fixes part #973 Signed-off-by: Daniel Stone <daniel@fooishbar.org>
a22386d4 2010-06-15 15:23:23 xkbcomp: Don't leak atom text and string exprs, again Signed-off-by: Daniel Stone <daniel@fooishbar.org>
8904c6ee 2010-06-15 15:22:05 xkbcomp: expr: Use XkbcAtomText instead of GetString This returns us a temporary string, rather than leaking the atom. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
ad0a3d7c 2010-06-15 15:20:32 xkbcomp: Don't leak atom text and string exprs Signed-off-by: Daniel Stone <daniel@fooishbar.org>
d20bdd3b 2010-06-15 15:14:58 xkbcomp: vmod: Don't get and immediately intern atoms XkbcInternAtom(XkbcAtomGetString(atom)) has to be the most spectacularly broken antipattern I've yet seen. Just compare the atoms directly. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
50a037ca 2010-06-15 15:13:56 xkbcomp: Replace open-coded strdup Signed-off-by: Daniel Stone <daniel@fooishbar.org>
4e854a21 2009-04-21 23:22:25 listing: Drop unused deviceSpec argument The server might care about this, but ListComponents is just reading xkb files.
481deea1 2009-04-20 06:40:34 xkbcomp: Another fairly major rewrite of the listing mode The listing code in xkbcomp had been setup to allocate a set of buffers with file paths and then later parse through them to find which maps were needed. All the allocation (with the additional allocation for the components list) was making it really slow, so this patch makes everything simpler by just generating the components list as we walk the directory tree.
18b43f8d 2009-04-19 16:30:36 Rewrite listing code to generate XkbComponentListPtr In xkbcomp, the listing code printed out the xkb files to stdout and the caller would parse the output. Here, we can just generate a XkbComponentListPtr and pass it back. This should be a series of smaller commits, but there was no clean way to do it since it's basically a complete rewrite except for the core map matching logic. A lot of code used for special printing modes in xkbcomp has been shedded. Callers can massage the output as they please.
559305a5 2009-04-16 21:47:28 xkbcomp: Kill unused listing code and make functions static Much of this was only called from xkbcomp and not used to generate listings for the server.
5983a4e6 2009-04-16 20:01:13 Scale back global variables Some of the global variables were either not used anymore or only used in the listing code.
9520ea0e 2009-04-12 12:30:12 Add XkbNameMatchesPattern implementation from xkbfile The xkbcomp listing code matches a glob type pattern against installed xkb files. This adds a Xkbc implementation of the pattern matching code.
fa183ce3 2009-04-12 12:15:05 xkbcomp: Fix use of removed macros
3d4c4d06 2009-04-12 11:13:52 Revert "xkbcomp: Remove listing sources" This reverts commit c4c9e36fbf4019d802323d9053f54cbfa6d3d5e5. It turns out that the listing code is used to support the X_kbListComponents request (via XkbListComponents). This will have to be refactored into some reasonable interface instead of the current usage where the server reads xkbcomp stdout. Gross.
53ead9b5 2009-04-11 10:35:44 Use xkbpath API for locating rules Instead of hardcoding the XKB base directory when searching for rules in the xkbcomp code, we can extend the xkbpath API to cover rules and reuse it. That will make it more convenient if it's ever exposed so people can set their XKB search paths in a reasonable way.
abbd1419 2009-04-10 12:25:51 Add interface to compile keyboard description from keymap files We need to support generating a keyboard description from a keymap file because there are just some cases where RMLVO or ktcsg is not enough. The map choosing logic has been refactored into its own function and now supports choosing a named or default keymap.
f5d37e27 2009-04-08 17:59:15 Constify public API There's no reason the arguments can't be const.
babae389 2009-04-08 17:54:55 Change CompileKeymapFromRules to take XkbRMLVOSet Let's use a nice interface now that it's available from XKBrulescommon.h.
6a84a34d 2009-04-08 07:46:25 Remove all non-public API from XKBcommon.h header The noble intention was to expose all the new API and new generic types in the split out kbproto headers through XKBcommon.h. It turns out that would be a massive amount of work in the server. Someday, but first just wedging in XkbCompileKeymap* would be good. Most of the API is in new internal xkb*.h headers. In order to allow the XKBcommon.h header to be used from the server, we can't pull in other headers from kbproto since the server has its own copies. However, types that are different (XkbDescRec, XkbAction) still have Xkbc equivalents here, and I think they should be used in the server.
b4a3c39b 2009-04-07 19:56:41 Remove KS macros available in XKBfilecommon.h now A couple of the XkbcKS* macros become redundant with XKBfilecommon.h split out in kbproto.
5889cef8 2009-04-05 20:27:35 Require strdup and remove utils wrapper This kills a couple warnings from using the uStringDup wrapper. If you don't have strdup on your platform, you have bigger issues.
8b100fc0 2009-04-05 15:15:20 Add action datatypes as defined in the server Some of the XkbAction types are defined differently in the server, so we add those to XKBcommon.h and use them here like XkbcDescPtr. We'll have to deal with the impedance mismatch on the client side later.
a2e59767 2009-04-04 12:50:27 xkbcomp: Don't say we're exiting when we're not
85039a0d 2009-04-04 12:31:55 xkbcomp: Give keymap file empty name if none supplied Ensure that the keymap file topName is not NULL since it gets blindly dereferenced later.
125ce76f 2009-04-04 12:21:05 xkbcomp: Ensure at least keycodes supplied in components It seems that at least a non-empty keycodes component is required to compile a XkbcDescPtr.
fdd8a9ec 2009-04-04 12:17:50 xkbcomp: Don't dereference NULL VarDefsPtr
99d2f4a5 2009-04-04 12:16:04 xkbcomp: Refactor keymap file generator
8269cbce 2009-04-04 10:02:39 xkbcomp: Generating components requires rules _and_ layout This came from trial and error, but it seems that you can generate a valid keymap with only rules and layout.
fa96602d 2009-04-04 09:51:33 xkbcomp: Fail when converting rules to components returns an error XkbcRF_GetComponents was returning an error but leaving the generated components alone. This ensures that the broken XkbComponentNamesPtr is freed and the error is passed up to the caller.
e72fc29f 2009-04-04 09:48:59 xkbcomp: Cleanup error messages
83367a8d 2009-04-04 09:46:20 xkbcomp: Ensure user has supplied a rules name
5d95a43a 2009-04-04 09:29:43 Refactor xkbpath so that it implicitly initializes Instead of requiring the user to call XkbInitIncludePath() and XkbAddDefaultDirectoriesToPath(), all the path entry points now implicitly initialize the path. When initializing, the default directories are added so it's useful. This provides normal operation without exposing the xkbpath API. That might happen later to allow apps to edit the XKB search path.
5c910623 2009-04-04 09:19:51 Remove trailing spaces in source files
c38cdc5d 2009-04-03 21:18:58 xkbcomp: Ignore generated parser
3a709e39 2009-04-03 21:16:56 xkbcomp: Don't segfault if the debug files aren't set Another interface that needs to be cleaned up.
ec86ce1f 2009-04-03 20:34:41 xkbcomp: Declare global debugging vars These will need to be sanitized at some point, but for now let's just get the code running.
c14c60bb 2009-04-03 20:33:01 xkbcomp: Back out strdup warning cleanup There are some spots in the code that use strdup without checking the argument, so we need this to not segfault. Cleanup later...
db03c9b7 2009-03-31 19:30:44 xkbcomp: Clean up utils prototypes Includes using a macro for the gcc format attributes instead of repeated ifdef's.
a27e56b6 2009-03-31 07:21:20 xkbcomp: Remove duplicated macros
05daf09f 2009-03-31 07:09:47 xkbcomp: Kill warnings about address always evaluating as true