Commit graph

15 commits

Author SHA1 Message Date
Peter Hutterer
a6028a7b87 Format the code with clang-format
clang-format taken from libinput, except for
  ColumnLimit: 100
and some macro definitions (which don't all have an effect anyway...)

It's not perfect but good enough and at least consistent.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/383>
2026-03-12 13:55:19 +10:00
Jason Gerecke
6aa4dc0c7e doc: Correct spelling errors in the code documentation
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/343>
2025-07-02 14:03:34 -07:00
Kacper Piwiński
54e71e6dd5 util: don't call function in macro argument
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/342>
2025-06-29 07:48:45 +00:00
Peter Hutterer
dbeff9a90d test: add a bunch of strv helpers
Taken from libinput

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/337>
2025-06-16 11:20:21 +10:00
Peter Hutterer
005c4ac493 util: use xalloc instead of calloc to avoid NULL checks 2024-09-11 12:27:38 +10:00
Peter Hutterer
bbc1f8de1c util: fix a leaking fd in a test 2024-09-11 12:27:38 +10:00
Peter Hutterer
ec031bc4bf test: add a few non-null checks to make the static analyzer happy 2024-09-11 12:26:40 +10:00
Peter Hutterer
865d7152e0 util: replace a strncpy with a memcpy
We know exactly the lengths of everything involved here so let's use
memcpy. This way we don't need the stringop-truncation warning (a pragma
clang doesn't support anyway).
2024-07-29 05:15:53 +00:00
Peter Hutterer
8e95c7d8a5 util: add a strv_from_mem() helper function
Generates a strv with the buffer as hex string.
2023-08-31 12:41:13 +10:00
Peter Hutterer
960bb6db26 util: add a strlen0 helper function
Same as strlen() + 1, but handles NULL and avoids typos by forgetting
the +1 in all the sites we need to call it.
2023-03-03 11:27:01 +10:00
Peter Hutterer
c15fcdc140 util: add a helper for fetching the cmdline.
Better than duplicating this three times.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2022-03-03 00:43:02 +00:00
Peter Hutterer
46681e2855 Add SPDX identifiers to all source files
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2022-03-03 00:27:36 +00:00
Peter Hutterer
43be3ddc89 util: add a strreplace function
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-09-01 12:26:05 +10:00
Peter Hutterer
b064d435ec test: make a separate binary for the utils tests
And add the tests for the list and string helpers as a first use-case, copied
from the libinput tests.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-08-25 11:37:18 +10:00
Peter Hutterer
f7a24b2fbd Add the minimal implementation for a UNIX socket libeis server
This is the minimum framework to support new clients, added devices and
pointer relative motion events. It's missing a bunch of checks and
verification, most of the server hooks aren't there yet, the only
implementation is a UNIX socket and the protocol is plain text (but at least
the last two makes it netcat-compatible).

Protocol is plain text for now and interaction is like this (S is server, C is client):
S: hello
C: connect myclientname
S: connected
C: add 2 4
S: accept 2
C: rel 2 -1 1
C: rel 2 5 4

Where the last two lines are: add device with id 2 and capability mask 0x4,
send a relative pointer motion event for device 2 with coordinates -1/1, then
5/4.

The implementation relies heavily on some abstraction and macros galore, see
the various util-* files. These are largely copied from libinput, with a few
parts removed and a few other parts added.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-07-28 19:33:34 +10:00