Log

Author Commit Date CI Message
Ran Benita d53eef0d 2014-02-09T10:27:45 x11: add 0 < ctrls->numGroups <= 4 assertion This only happens if something is wrong in the server; a valid keymap cannot be had in any case. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 032f8b67 2014-02-08T18:30:41 Remove m4/.gitkeep Now there's a file in there. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 3d56aa3e 2014-02-08T17:58:39 keysym: use safe keysym comparison function Instead of thinking about signed <-> unsigned an whatnot. bsearch() is inline in glibc, so gcc optimizes this away anyway. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 68b03097 2014-02-08T17:22:14 scanner: make line and column unsigned Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita cf513f70 2014-02-08T17:15:37 rules: get rid of struct location Use the scanner token_{line,column} like we do in the other places. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 973b8fd4 2014-02-08T16:40:20 api: deprecate XKB_MAP_COMPILE_PLACEHOLDER, and use KEYMAP instead of MAP The PLACEHOLDER was not meant to be used, but c++ doesn't like passing 0 to enums, so it was used. For this reason we add all the NO_FLAGS items, so the PLACEHOLDER shouldn't be used anymore. Second, XKB_MAP is the prefix we used ages ago, KEYMAP is the expected prefix here. So deprecate that as well. The old names may still be used through the xkbcommon-compat.h header, which is included by default (no need to include directly). Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 8cc9434f 2014-02-08T16:38:18 x11: make sure not to use compat header src/keymap.h already defines the necessary header guard, so just reverse the include order. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita ac42103b 2014-02-08T16:25:22 x11: make some #defines unsigned Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 8fcb44b8 2014-02-08T16:18:16 x11: fix truncation of xkb controls mask off the wire It's uint32_t, not uint16_t, so we were losing flags (not that it matters in this case). Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita f5465b56 2014-02-08T16:12:09 x11: make msb_pos return unsigned It was initially returning -1 for all-zero arguments, but now it returns 0. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita a088c9ba 2014-02-08T16:03:06 keysym: fix types in bin_search Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 04bacf87 2014-02-08T15:53:50 state: optimize xkb_state_led_update_all() Before: ran@ran:~/src/libxkbcommon$ ./test/bench-key-proc ran 20000000 iterations in 6.623018074s After: ran@ran:~/src/libxkbcommon$ ./test/bench-key-proc ran 20000000 iterations in 4.762291091s Not that anyone needs to process millions of keys per second... Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 769b91c5 2014-02-08T15:30:05 Use (1u << idx) instead of (1 << idx) where appropriate It doesn't matter (I think), since the implicit conversion doesn't have any effect (e.g. sign-extension). But it's better to be aware of the type. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 50b73ec0 2014-02-08T15:10:09 Use unsigned int for saving darray_size return value See: b9b3593cbdeb7f5b02d50cecaba6a0b47d4979ad So these should be unsigned int's now. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita e2c336cb 2014-02-08T15:06:28 action: fix misleading cast The type is uint8_t and so is the checked range. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita bbd2a9c0 2014-02-08T15:05:05 action: fix printing of underflowed value in error message Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 27e20662 2014-02-08T12:31:21 scanner-utils: add some likely/unlikely annotations Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 10643d8a 2014-02-08T12:29:51 Define likely()/unlikely() macros It serves as nice "hotspot" annotations, and can also help things, so why not. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 0e20cfed 2014-02-08T02:01:17 Partially revert "ast: pack the ParseCommon struct" This reverts commit 1e6e5669c6229846830f0b497591de4e3cf588eb. It's probably safe, but let's not take any chances, as I don't have any esoteric arch to test on. But keep the ATTR in case it's ever useful. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 8aa2202d 2014-02-08T00:08:06 build: add -Wextra warnings If it gets annoying, we can disable it. But for now it's clean. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 6ea15719 2014-02-08T01:26:35 ast: use more suitable types in a few ast nodes The int ones cannot be signed (they come as such from the scanner, and NEGATE is never applied to them). The uint32_t one is really an atom, but presumably the type was never converted to xkb_atom_t. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita b9b3593c 2014-02-08T01:13:50 darray: use unsigned int instead of size_t for array size size_t is too large; if we ever need it, that's the least of our problems. Besides, when we roll our own (e.g. in keymap.h) it's already unsigned int. Instead, add some emergency overflow check. So, why? - It plays nicer with all the other uint32_t's and unsigned int's (no extensions, etc.). - Reduces keymap memory usage by 5% or so as a bonus. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 94e0be0d 2014-02-08T00:42:54 test/state: fix tautological test test/state.c:376:5: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 623b10f8 2014-02-08T00:27:54 Fix sign-compare warnings Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 893f0130 2014-02-08T00:18:32 symbols: reduce some loop iterators scope Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 5547a82f 2014-02-07T21:12:53 parser: fix unrecognized keysym handling Integer may be negative, so also need to test >= 0. Also, $$ was left uninitialized if the keysym wasn't recognized. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 5dbd1364 2014-02-07T20:58:19 action: change xkb_pointer_button_action::button to uint8_t In XkbPtrBtnAction it is unsigned char, don't know how it became signed. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita fa87cdb8 2014-02-07T19:39:42 darray: cleanup We have quite diverged from the upstream file, so let's make it at least easier to look at. Remove some unused macros and rename some for consistency. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 6f2df7df 2014-02-07T19:28:48 ast: make symsMapIndex unsigned It doesn't need to be signed. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita e9e39932 2014-02-07T18:49:22 action: Use ResolveInteger for PtrBtn.count, not ResolveButton It's not a button. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita e0137cac 2014-02-07T18:48:16 action: check range of MovePtr X,Y values Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita b82a0a86 2014-02-07T18:09:30 scanner: avoid strlen in keyword lookup, we know the len Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 2abff2a0 2014-02-07T17:29:34 state: use the XKB_MOD_MASK constant Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita ed18f7dd 2014-02-07T17:13:03 x11: add #actions == #syms check This must always hold (but if there are no actions, #actions==0), and explicitly ensures there won't be a division-by-zero a bit below. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 125bb19e 2014-02-07T17:11:49 x11: add explicit cast in mods conversion Explicit is better and all. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 623602cb 2014-02-07T01:35:56 test: don't print control characters in interactive tests Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 779eec3b 2014-02-04T22:18:12 x11: add missing #ifdef __cplusplus to header Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 109fe705 2014-02-04T02:53:05 Use secure_getenv when available We probably don't want to get a privileged process to compile arbitrary keymaps. So we should be careful about the envvars which control include paths or default RMLVOs. But then secure_getenv is more sensible for everything we do. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita bdd8c113 2014-02-04T02:48:41 build: some fixes in configure.ac - Use 'test =' instead of 'test ==' in the x11 test. The second one might not work with e.g. dash, whoops. - Use AS_IF instead of 'if'. It actually blends in better.. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita be16858c 2014-02-02T12:13:26 Bump version to 0.4.0 Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita a15b4a55 2014-02-02T12:08:43 Update README - Remove outdated information about API/ABI stability. If we ever break API or ABI, we'll do a major release. But currently everything is stable. - Remove outdated warnings about internal symbols. You simply cannot access them... - Briefly mention xkbcommon-x11 existence. - Update git and bug URLs. - Add myself as maintainer :) Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 87e0e474 2014-02-02T12:05:35 Update NEWS Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 70717c56 2014-02-02T11:13:28 build: add configure summary Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 2f93c788 2013-07-30T15:06:40 x11: add a couple of tests Add two tests: ./test/interactive-x11 which is like test/interactive-evdev, but should behave exactly like your X keyboard and react to state and keymap changes - in other words, just like typing in xterm. Press ESC to exit. ./test/x11 which currently should only print out the same keymap as xkbcomp $DISPLAY out.xkb (modulo some whitespace and some constructs we do not support.) Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita eb348255 2013-07-20T23:21:44 x11: add XKB protocol keymap and state creation support These are function to create an xkb_keymap directly from XKB requests to the X server. This opens up the possibility for X clients to use xcb + xcb-xkb + xkbcommon as a proper replacement for Xlib + xkbfile for keyboard support. The X11 support must be enabled with --enable-x11 for now. The functions are in xkbcommon/xkbcommon-x11.h. It depends on a recent libxcb with xkb enabled. The functions are in a new libxkbcommon-x11.so, with a new pkg-config file, etc. so that the packages may be split, and libxkbcommon.so itself remains dependency-free. Why not just use the RMLVO that the server puts in the _XKB_RULES_NAMES property? This does not account for custom keymaps, on-the-fly keymap modifications, remote clients, etc., so is not a proper solution in practice. Also, some servers don't even set it. Now, the client just needs to recreate the keymap in response to a change in the server's keymap (as Xlib clients do with XRefreshKeyboardMapping() and friends). Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita ddbefda3 2014-01-13T18:19:36 build: error out on undefined symbols This helps ensure we don't ship a library with undefined symbols, which can easily happen with multiple inter-dependent DSOs. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita a9c56f64 2014-01-13T17:20:54 context: split private functions to context-priv.c (Same as keymap-priv.c). Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 7210497c 2014-01-13T17:07:41 keymap: split private functions to keymap-priv.c This makes it easier to share the private functions in other DSOs without relying (too much) on dead code elimination, exported symbols, etc. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 4884a8e6 2013-08-02T10:19:01 keymap: move XkbEscapeMapName() to keymap.c. So we can use it outside src/xkbcomp; it is not really specific to it. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita d63e0ab8 2013-07-30T13:38:51 test: rename test/interactive to interactive-evdev And share the key-printing functions. In preparation for adding more interactive-* variants. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 917c7515 2014-01-12T14:37:39 context: remove mostly useless log wrappers Just use xkb_log directly. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 101720a2 2014-01-12T13:18:39 parser: shutup some 'may be used uninitialized' warnings Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita bbc69b63 2014-01-12T10:53:23 action, types: remove unused Report functions Signed-off-by: Ran Benita <ran234@gmail.com>
Hardening e77712bd 2014-01-08T21:22:45 Add a constant for NumLock This trivial patch adds the name of the Numlock modifier
Ran Benita 4841ea0c 2014-01-11T16:56:20 test/state: fix some *_{is,are}_active() tests These functions also return -1 on invalid input. The original tests didn't check that, but used !tests instead. Since then we've changed them, but some were missed, and for some we forgot to remove the ! (or you can say they were extra clever). Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 31430670 2014-01-11T16:40:42 Fix some cppcheck warnings Someone was nice enough to run this for us: ftp://ftp.sunet.se/pub/Linux/distributions/Debian/debian/pool/main/libx/libxkbcommon/libxkbcommon_0.3.1.orig.tar.gz [libxkbcommon-0.3.1/src/keymap.c:86]: (style) The scope of the variable 'j' can be reduced. [libxkbcommon-0.3.1/src/keymap.c:87]: (style) The scope of the variable 'key' can be reduced. [libxkbcommon-0.3.1/src/keysym-utf.c:843]: (style) The scope of the variable 'mid' can be reduced. [libxkbcommon-0.3.1/src/state.c:992]: (style) The scope of the variable 'str' can be reduced. [libxkbcommon-0.3.1/src/xkbcomp/action.c:467]: (style) The scope of the variable 'absolute' can be reduced. [libxkbcommon-0.3.1/src/xkbcomp/rules.c:468]: (style) The scope of the variable 'consumed' can be reduced. [libxkbcommon-0.3.1/src/xkbcomp/rules.c:862]: (style) The scope of the variable 'mlvo' can be reduced. [libxkbcommon-0.3.1/src/xkbcomp/rules.c:863]: (style) The scope of the variable 'kccgst' can be reduced. [libxkbcommon-0.3.1/src/xkbcomp/rules.c:865]: (style) The scope of the variable 'match_type' can be reduced. [libxkbcommon-0.3.1/src/xkbcomp/symbols.c:753]: (style) The scope of the variable 'toAct' can be reduced. [libxkbcommon-0.3.1/src/xkbcomp/symbols.c:1573]: (style) The scope of the variable 'key' can be reduced. [libxkbcommon-0.3.1/test/common.c:80]: (warning) %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [libxkbcommon-0.3.1/test/interactive.c:358]: (style) The scope of the variable 'nevs' can be reduced. [libxkbcommon-0.3.1/test/interactive.c:236]: (style) Checking if unsigned variable 'nsyms' is less than zero. [libxkbcommon-0.3.1/test/interactive.c:226]: (style) Unused variable: unicode Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 1d5ae226 2014-01-11T00:26:58 makekeys: mark keysym_names as static Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 51c9f8e2 2014-01-02T01:19:25 keysym: clarify slightly confusing comparison functions Make it clear what the search key type and array types are. Signed-off-by: Ran Benita <ran234@gmail.com>
Jasper St. Pierre 0628b9b2 2014-01-01T13:01:12 makekeys: Add a gcc pragma to ignore -Woverlength-strings
Jasper St. Pierre eef3ab23 2013-07-17T18:56:03 makekeys: Put a comment describing the origin of the file
Jasper St. Pierre 68c61e7f 2013-07-17T18:07:31 ks_tables: Put all keysym names in one giant block This makes the file take two segments instead of potentially many, causing relocation issues.
Jasper St. Pierre 938a2c37 2013-07-17T17:49:10 makekeys: Move all of the table generation to Python This makes it easier to run the Python script manually.
Jasper St. Pierre 870913c2 2013-07-17T17:44:07 makekeys: Remove some semis Python doesn't have these
Ran Benita 53e7a135 2014-01-01T10:40:09 keysyms: add German T3 layout keysyms from xproto Reference: http://cgit.freedesktop.org/xorg/proto/xproto/commit/?id=6d4acb0e3a6568a8faaa651d4e3d32f917b9067b Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita e18e7608 2014-01-01T10:36:54 keysym: fix search for lexicographically larger strings Probably a copy/paste error from a few lines above. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 1e6e5669 2013-12-14T17:39:11 ast: pack the ParseCommon struct This shows a measurable improvement in memory and performance for free, on 64bit at least. Packing is (or should be) safe in this case. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 9a3c115b 2013-12-02T17:13:50 atom: don't malloc every node separately Instead of having a darray of pointers to malloc'ed atom_node's, make it a darray of atom_node's directly. This makes the code a bit simpler, saves on some malloc's, and the memory gain/loss even out. Unfortunately, we are no longer Three Star Programmers ;( http://c2.com/cgi/wiki?ThreeStarProgrammer Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita b246edc6 2013-12-02T14:16:45 test/atom: add test for atom table Mostly a random test. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 1374b50e 2013-12-02T14:25:51 atom: tiny style fixes Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 048ee703 2013-12-02T14:23:59 atom: allow passing NULLs to find_node_pointer() Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita d873693b 2013-12-02T14:15:58 atom: allow interning empty string Which is different than XKB_ATOM_NONE, as in "" != NULL. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 58345f4e 2013-12-02T14:14:41 atom: drop {xkb_,}atom_strdup Even though in 112cccb18ad1bc877b3c4a87fa536ea085c761b5 I said it might be useful, it's not. So remove it. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita b63fa3b1 2013-12-01T13:32:51 expr: make Expr creation naming and file location consistent Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 07334f4d 2013-12-01T13:29:30 expr: add wrapper macro for ExprCreate Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 972395b8 2013-12-01T12:08:47 expr: split expression types and allocate them separately Currently, we have one ExprDef type, which contains a tagged union with the value of all expression types. Turns out, this union is quite wasteful memory-wise. Instead, create separate types for all expressions (e.g ExprBinary, ExprInteger) which embed the common fields (ExprCommon), and malloc them per their size; ExprDef then becomes a union of all these types, but is just used as a generic pointer. [Instead of making ExprDef a union, another option is to use ExprCommon as the generic pointer type and then do up-castings, like we do with ParseCommon. But this makes the code much uglier.] The diff is mostly straightforward mechanical adaptations. It could have been much smaller with the help of C11 anonymous structs (which were previously a gnu extension). This will have saved all of the 'op' -> 'expr->op', etc changes. But if we can be a bit more portable for a little effort, we should. Before (./test/rulescomp, x86 32 bit, -O2): ==12974== total heap usage: 145,217 allocs, 145,217 frees, 10,476,238 bytes allocated After: ==11145== total heap usage: 145,217 allocs, 145,217 frees, 8,270,358 bytes allocated Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 068016e4 2013-12-01T10:45:52 parser, symbols: drop unnecessary casts It's casted into ExprDef and then uncasted for no reason. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 4a7bfb68 2013-12-01T10:31:27 expr: use ExprCreate in more places Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita fd98d64b 2013-11-30T23:29:58 parser: remove 'uval' yylval type We don't care about DoodadType. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita c24b6420 2013-11-30T23:24:18 expr: add constructor for boolean expressions Also add a 'bool set' to the ExprDef union, instead of using 'ival' as a bool. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita c5d85938 2013-11-30T23:12:45 expr: add constructors for more expression types This makes the parser a bit more declarative. But really it might make error handling easier. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita dbd8b1ef 2013-11-30T22:25:39 expr: add 'ident' value to ExprDef union This distinguishes between an identifier expression and a string expression in the union. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 9dc5b8cb 2013-11-27T13:49:13 Resolve keysyms early in parser Instead of having the parser passing strings to the AST, and symbols/compat etc. resolving them themselves. This simplifies the code a bit, and makes it possible to print where exactly in the file the bad keysym originates from. The previous lazy approach had an advantage of not needlessly resolving keysyms from unrelated maps. However, I think reporting these errors in *any* map is better, and the parser is also a bit smarter then old xkbcomp and doesn't parse many useless maps. So there's no discernible speed/memory difference with this change. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita ba7530fa 2013-11-27T13:43:57 scanner: restore lost DIVIDE token I don't know how this could have happened. Luckily this token is completely useless. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 1651e5af 2013-11-27T13:12:19 symbols: modernize LookupKeysym Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 64b8da4b 2013-11-27T12:52:20 symbols: rename info.modMaps -> modmaps Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 5a5e4915 2013-11-26T12:10:05 NEWS: add missing 'New API' entries for NO_FLAGS Forgot to add this. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 8deff4f0 2013-11-22T21:02:03 Bump version to 0.3.2 Add a NEWS file, with some retroactive entries. Also add 'check-news' to configure.ac, though this might be a bit annoying. Signed-off-by: Ran Benita <ran234@gmail.com>
Alan Coopersmith 044d4b5f 2013-11-08T17:08:35 Make XkbFileCreate argument types match between header & implementation Fixes build failure with Solaris Studio compilers: "src/xkbcomp/ast-build.c", line 492: identifier redeclared: XkbFileCreate current : function(..., enum xkb_map_flags) previous: function(..., unsigned int) : "src/xkbcomp/ast-build.h", line 98 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Ran Benita 73956752 2013-10-27T20:12:05 scanner-utils: remove outdated comment Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 65f9980b 2013-10-14T19:05:24 rules: fix scanning of line-continuation without leading space We were failing to scan something like\ this correctly. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita dcdd4e10 2013-10-14T18:59:53 Replace ctype.h functions with ascii ones ctype.h is locale-dependent, so using it in our scanners is not optimal. Let's be deterministic with our own simple functions. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 14382a62 2013-10-13T22:19:38 configure.ac: add AM_PROG_CC_C_O Older Automakes give this error without this directive: Makefile.am: C objects in subdir but `AM_PROG_CC_C_O' not in `configure.ac' In newer autotools this is included under AC_PROG_CC, but it's harmless to add. https://github.com/xkbcommon/libxkbcommon/issues/3 Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita f813bdbf 2013-10-09T12:23:46 rulescomp: increase BENCHMARK_ITERATIONS from 1000 to 2500 1000 is a bit too low for statistical significance on this 6 years old CPU. Since the benchmark is run manually this shouldn't be a problem. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita a45f531a 2013-10-09T12:12:59 keymap: call strlen on keymap string instead of SIZE_MAX I wanted to avoid the strlen, but we'd better keep the scanner a bit less surprising and encourage people to use xkb_keymap_new_from_buffer() instead of they do in fact have access to the size. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita ca0d388f 2013-10-08T23:09:01 rules: simplify a bit of code Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita fbed22e8 2013-10-08T22:58:28 rules: use strlen_safe Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita efe5b036 2013-10-08T22:37:53 rules: improve error logging macros Improve safety with parenthesis, make the matcher macros use the scanner ones, and make the 1 variant use %s instead of embedding the msg; this way the compiler can reuse the string in the binary. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 5af688e6 2013-10-08T21:46:01 rules: reduce variable scopes There are some big functions there, and this might help reduce the cognitive load a bit. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita c35c388b 2013-10-08T18:35:05 scanner: remove unnecessary cast 'tok' is already an int now. Signed-off-by: Ran Benita <ran234@gmail.com>
Siddharth Heroor 27f2743c 2013-10-07T14:11:36 keysym-utf: Fix a warning about shadowing Change variable names to avoid the name clash. The warning seen is src/keysym-utf.c: In function 'bin_search': src/keysym-utf.c:841: warning: declaration of 'min' shadows a global declaration src/utils.h:109: warning: shadowed declaration is here src/keysym-utf.c:842: warning: declaration of 'max' shadows a global declaration src/utils.h:115: warning: shadowed declaration is here Signed-off-by: Siddharth Heroor <heroor@ti.com>