Age | Commit message (Collapse) | Author |
|
On OpenBSD, with malloc_conf=S, the recallocarray() code detects a
size mismatch in ResizeKeyGroup when numLevels[group] doesn't match
the allocated size of syms[group].
Should fix https://gitlab.freedesktop.org/xorg/app/xkbcomp/-/issues/25
Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
Part-of: <https://gitlab.freedesktop.org/xorg/app/xkbcomp/-/merge_requests/24>
|
|
Some suggested by cppcheck, others by manual code inspection
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
symbols.c:1057:28: portability: Shifting signed 32-bit value by 31 bits
is implementation-defined behaviour. See condition at line 1049.
[shiftTooManyBitsSigned]
radio_groups |= (1 << (tmp.uval - 1));
^
symbols.c:1049:41: note: Assuming that condition 'tmp.uval>32' is not redundant
if ((tmp.uval < 1) || (tmp.uval > XkbMaxRadioGroups))
^
symbols.c:1057:28: note: Shift
radio_groups |= (1 << (tmp.uval - 1));
^
symbols.c:1057:28: warning: Either the condition 'tmp.uval>32' is redundant
or there is signed integer overflow for expression '1<<(tmp.uval-1)'.
[integerOverflowCond]
radio_groups |= (1 << (tmp.uval - 1));
^
symbols.c:1049:41: note: Assuming that condition 'tmp.uval>32' is not redundant
if ((tmp.uval < 1) || (tmp.uval > XkbMaxRadioGroups))
^
symbols.c:1057:28: note: Integer overflow
radio_groups |= (1 << (tmp.uval - 1));
^
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Not needed in C89 and later
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
All these wrappers did was mess with types and add a test for
NULL pointers that isn't needed in C89 and later.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Retains uRecalloc() as a fallback for platforms without recallocarray()
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
All these wrappers did was mess with types.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
All these wrappers did was mess with types.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Some found by cppcheck, some found by manual code inspection
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
This addresses issue #20 some more.
Reported-by: Vincent Lefevre
Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
|
|
Two years ago, commit c8cfca25ab changed an error to a warning
but forgot to add a check for 'warningLevel'.
This partially addresses issue #20.
Reported-by: Vincent Lefevre
Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
In the interest of maintainability, it's easier to include as many keycodes as
possible and then have the symbols mapping specific to the layout. This is
particularly true for evdev where the kernel takes care of device-specifics
and every keyboard has the same set of keycodes anyway.
So let's downgrade this from a warning to a mere info, virtually every
keyboard right now triggers this warning for a number of keys.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Those macros date back to when varargs weren't a thing but they've
been #defined to the same value for 17 years now.
Patch generated with:
for action in WARN INFO ERROR ACTION FATAL WSGO; do
sed -i "s/${action}[1-9]/${action}/g" `git ls-files`
done
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Let's clean this up so I don't have to fight vim and git in removing them.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Found by using:
codespell --builtin clear,rare,usage,informal,code,names
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Whenever xkeyboard-config is newer than xorgproto, or libX11 just hasn't yet
been rebuilt against the protocol we end up with some unresolved symbols.
That's not an error, it just happens. Let's downgrade this to a warning
instead.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Specifying an explicit key type when overriding a key should adjust
the number of levels to that of the specified type. This gets rid of
the age-old warning of the right Alt key being ONE_LEVEL but having
two symbols assigned.
Fixes bug #57242 <http://bugs.freedesktop.org/show_bug.cgi?id=57242>.
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
Reviewed-by: Ran Benita <ran234@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Any use of the german keyboard layout or anything else using
level3(ralt_switch) produces the warning
Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols
Ignoring extra symbols
This warning is meaningless, the default definition for RALT comes from
pc(pc105) including altwin(meta_alt) which defines it as TWO_LEVEL
and { Alt_R, Meta_R }. Including level3(ralt_switch) correctly sets it as
ONE_LEVEL but now we get the warning. That makes users file bug reports and we
can't be having that, can we?
Up the warning level for this case to one past the default. The warning is
only useful when you're testing a new keyboard layout or trying to fix an
actual bug with missing symbols. And then you can run xkbcomp with -w10.
No need to spam the log on every server startup.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
|
|
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>
|
|
warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
|
|
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>
|
|
The default type for a key with no levels is ONE_LEVEL.
Let's not overwrite the kt_index with this default type if we have previously
assigned a real type.
Reproduceable by running setxkbmap -layout "ru(phonetic),us", the first group
is assigned ONE_LEVEL and shift stops working.
Red Hat Bug #436626 <https://bugzilla.redhat.com/show_bug.cgi?id=436626>
|
|
|
|
|
|
indent -cbi 0 -nprs -nut -npcs -i4 -bli 0 *.c *.h
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|