Age | Commit message (Collapse) | Author |
|
w32api/rpcnndr.h (included by windows.h) uses TypeString as the name of a structure member.
xkbcomp.h defines it as a macro for a constant.
Define WIN32_LEAN_AND_MEAN to avoid this clash.
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: David Macek <david.macek.0@gmail.com>
|
|
I can not find any point in our git history at which alloca() or the
Xalloca.h macros ALLOCATE_LOCAL() & DEALLOCATE_LOCAL() were actually
used in this source file.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
This patch improves -w option parsing even further, for cases like
"xkbcomp -w6 4.xkb out.xkb" (which were not handled by the fix of
the warning level is still optional (set to 0 if not present), and
errors like "xkbcomp -wfoo in out" are detected and reported.
https://bugs.freedesktop.org/show_bug.cgi?id=66344
Signed-off-by: Vincent Lefevre <vincent@vinc17.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Flagged by cppcheck 1.64:
Checking app/xkbcomp/listing.c: WIN32...
[app/xkbcomp/listing.c:335]: (error) Uninitialized variable: nMatch
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
|
|
Flagged by cppcheck 1.64:
[app/xkbcomp/geometry.c:2426] -> [app/xkbcomp/geometry.c:2427]:
(performance) Variable 'outline' is reassigned a value before
the old one has been used.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
|
|
Flagged by cppcheck 1.64:
[app/xkbcomp/keycodes.c:264] -> [app/xkbcomp/keycodes.c:262]:
(warning) Possible null pointer dereference: new - otherwise it
is redundant to check it against null.
[app/xkbcomp/keytypes.c:600] -> [app/xkbcomp/keytypes.c:597]:
(warning) Possible null pointer dereference: old - otherwise it
is redundant to check it against null.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
|
|
There is no need to ensure the pointers passed to free are not NULL,
especially right after passing them to strncpy without checking for
NULL.
Flagged by cppcheck 1.64:
[app/xkbcomp/parseutils.c:557] -> [app/xkbcomp/parseutils.c:559]:
(warning) Possible null pointer dereference: over - otherwise it
is redundant to check it against null.
[app/xkbcomp/parseutils.c:558] -> [app/xkbcomp/parseutils.c:561]:
(warning) Possible null pointer dereference: under - otherwise it
is redundant to check it against null.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
|
|
Most were fixed length or length checked anyway, this just saves time
doublechecking that. (A few could be replaced by asprintf, but we
don't have a copy guaranteed to be reachable from this program yet.)
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
|
|
info->groupCompat[i] is bzero'd on init, define is 0. Don't warn when that
is the case, otherwise any "group 2 = ..." statement will cause an error.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
A more minimalistic and formally correct solution.
This amends and extends the previous fix for bug #66345,
fixing not just yyGetKeyName() but also yyGetString().
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
Fixes a typo from cdcd552 (should be sizeof - 1, not sizeof -i).
Code flows that i is at most sizeof(scanBuf) - 1, so last is not needed.
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
if the flag is "-w", then argv[i][1] is 'w' and unlikely to be a digit.
Access [2] instead, which is either \0 or an actual digit.
X.Org Bug 66344 <http://bugs.freedesktop.org/show_bug.cgi?id=66344>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Matt Dew <marcoz@osource.org>
|
|
If a key name exceeds 4 characters, the content of scanBuf is not
null-terminated, giving error messages like
syntax error: line 7 of test.xkb
last scanned symbol is: FOOBARm
Errors encountered in test.xkb; not compiled.
(last character of the preceding 'maximum' statement in this case)
X.Org Bug 66345 <http://bugs.freedesktop.org/show_bug.cgi?id=66345>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
This fixes an issue with _exit not declared when building xkbcomp
version 1.2.4 natively on Windows using MinGW32 (version 4.7.2)
from www.mingw.org.
https://bugs.freedesktop.org/show_bug.cgi?id=62365
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Nothing else looks at DEBUG_ON.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Regroup AC statements under the Autoconf initialization section.
Regroup AM statements under the Automake initialization section.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
See http://people.gnome.org/~walters/docs/build-api.txt
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
|
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Include the specially wrapped windows.h in Xwindows.h, rather than
including it directly to avoid compilation errors due to clashing
definitions
Signed-off-by: Ryan Pavlik <rpavlik@iastate.edu>
Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
|
|
When we opened a new file after encountering a parse error, we weren't
resetting our scan state, and continued to read out of the old buffer
rather than that of the new file.
Fixes a regression introduced in 9887842e ('Use fread() instead of
getc()').
Test case:
xkbcomp -lfhlpR "path/to/xkeyboard-config.git/symbols/*"
The Makefiles in that tree would cause parse errors, the resulting directory
file is incomplete (down from ~12000 to ~230 lines).
Reported-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
Parse, but ignore, level definitions in the form of:
key <FOO> { [ normal_sym, { M, U, L, T, I, S, Y, M } ] };
normal_sym will be carried, but the latter will be turned into NoSymbol.
http://bugs.freedesktop.org/show_bug.cgi?id=25025
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Fixes gcc warnings of:
symbols.c:43: warning: redundant redeclaration of 'tok_ONE_LEVEL'
tokens.h:99: warning: previous declaration of 'tok_ONE_LEVEL' was here
symbols.c:44: warning: redundant redeclaration of 'tok_TWO_LEVEL'
tokens.h:100: warning: previous declaration of 'tok_TWO_LEVEL' was here
symbols.c:45: warning: redundant redeclaration of 'tok_KEYPAD'
tokens.h:102: warning: previous declaration of 'tok_KEYPAD' was here
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
...though really, by the time you've added 1023 digits to the number
you want to parse, you've got much bigger problems than an off-by-one
error in your buffer count.
Fixes parfait warnings:
Buffer overflow (CWE 120): In array dereference of (*buf)[nInBuf] with index 'nInBuf'
Array size is 1024 bytes, nInBuf >= 1 and nInBuf <= 1024
at line 625 of xkbscan.c in function 'yyGetNumber'.
Buffer overflow (CWE 120): In array dereference of (*buf)[nInBuf] with index 'nInBuf'
Array size is 1024 bytes, nInBuf <= 1025
at line 632 of xkbscan.c in function 'yyGetNumber'.
[ This bug was found by the Parfait 0.4.2 bug checking tool.
For more information see http://labs.oracle.com/projects/parfait/ ]
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
This change makes sure that include does not overwrite previous
compatibility modifier settings when the included files does not
explicitly specify them.
Signed-off-by: Andreas Wettstein <wettstein509@solnet.ch>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
|
|
warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
|
|
warning: declaration shadows a local variable [-Wshadow]
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
|
|
geometry.c:369:20: warning: argument to 'sizeof' in '__builtin___memset_chk' call is the same
pointer type 'RowInfo *' (aka 'struct _RowInfo *') as the destination; expected 'RowInfo'
(aka 'struct _RowInfo') or an explicit length [-Wsizeof-pointer-memaccess]
bzero(row, sizeof(RowInfo *));
~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
|
|
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
|
|
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
|
|
Our minimum requirement for X11 is currently Unix98. Unix98 provides
strcasecmp in <strings.h>. This commit fixes implicit declarations
of this function on systems that closely adhere to the standard.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
|
|
Exports xkbcomp version and the xkb base directory.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
|
|
This commit isn't playing the WARN/M/M1 macro game. Version numbers to to
stdout, full stop.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
Brown paper bag in full effect.
The previous fix, while crushing the previous problem where an unknown
keysym for an interp def would lead to every key matching it, also
ignored explicit Any+AnyOfOrNone(All) mappings.
Such as the one xkeyboard-config relied on for Control to actually
update the modifier state.
Fix this by allowing mappings explicitly declared as Any/NoSymbol, while
ignoring only those with failed keysym lookups. Unfortunately, due to
the structure of the parser, it's a deeply inelegant fix.
Verified with a quick check of all layouts (albeit using default
variants only) in xkeyboard-config that this results in no changes to
the output at all, compared to xkbcomp 1.1.1.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
Emergency bugfix for the syminterp declarations. They've been broken
since the beginning of time, but I guess we just haven't added new
interpreted symbols since around then.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
A NoSymbol syminterp leads to a Any+AnyOfOrAll(None) definition, which
is never what anyone would actually ever want in a sym interp. The
failure mode here was:
interpret XF86SomeKeysymYouDontHaveYet {
action=Something()
}
leading to:
interpret Any+AnyOfOrAll(None) {
action=Something()
}
leading to every single non-action key triggering your shiny new action
that was only supposed to come from a new keysym.
At least you could VT switch or zap, I guess.
Later, more invasive, revisions will bring a more useful error message.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
If we can't look up a modifier in a SymInterp declaration, don't make
that fatal enough to kill the entire file, just ignore it and move on.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
|
BUILT_SOURCES and MAINTAINERCLEANFILES are already handled by Automake.
Automake generates all the rules to handle building,
distribution and cleaning.
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
|
|
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=31647
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|