mirror of
https://gitlab.freedesktop.org/wayland/wayland.git
synced 2026-02-15 22:05:35 -05:00
scanner: add validators for enums
Right now compositors need to manually check that enum values sent by the client are valid. In particular: - Check that the value sent by the client is not outside of the enum. - Check that the version of the enum entry is consistent with the object version. Automatically generate validator functions to perform these tasks. Signed-off-by: Simon Ser <contact@emersion.fr> Closes: https://gitlab.freedesktop.org/wayland/wayland/-/issues/104
This commit is contained in:
parent
5eeaac6e11
commit
b258d5f361
14 changed files with 720 additions and 4 deletions
13
tests/enum-validator-test.c
Normal file
13
tests/enum-validator-test.c
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
#include <assert.h>
|
||||
#include "data/small-server-core.h"
|
||||
|
||||
int
|
||||
main(int argc, char *argv[]) {
|
||||
assert(intf_A_foo_is_valid(INTF_A_FOO_FIRST, 1));
|
||||
assert(intf_A_foo_is_valid(INTF_A_FOO_FIRST, 2));
|
||||
|
||||
assert(!intf_A_foo_is_valid(INTF_A_FOO_THIRD, 1));
|
||||
assert(intf_A_foo_is_valid(INTF_A_FOO_THIRD, 2));
|
||||
|
||||
assert(intf_A_foo_is_valid(INTF_A_FOO_NEGATIVE, 2));
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue