From d01d5177ad22c05de6d77365dfa5591c1cf78714 Mon Sep 17 00:00:00 2001 From: speedie Date: Tue, 8 Aug 2023 20:05:15 +0200 Subject: [PATCH] Remove usage of assert() --- libs/wl/wayland.c | 76 ++++++++++++++++++++++++++++++++--------------- libs/wl/wayland.h | 1 - spmenu.c | 4 +-- 3 files changed, 54 insertions(+), 27 deletions(-) diff --git a/libs/wl/wayland.c b/libs/wl/wayland.c index b0558f2..72fc789 100644 --- a/libs/wl/wayland.c +++ b/libs/wl/wayland.c @@ -10,7 +10,10 @@ struct wl_buffer *create_buffer(struct state *state) { size_t siz = stride * height; int fd = create_shm_file(siz); - assert(fd != -1); + + if (fd == -1) { + die("create_buffer(): fd == -1"); + } void *data = mmap(NULL, siz, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); @@ -86,7 +89,7 @@ char *wl_clipboard(void) { fp = popen("which wl-paste > /dev/null && wl-paste -t text/plain", "r"); if (fp == NULL) { - fprintf(stderr, "spmenu: Failed to open command\n"); + fprintf(stderr, "wl_clipboard(): Failed to open command\n"); return NULL; } @@ -244,7 +247,7 @@ void keyboard_keymap(void *data, struct wl_keyboard *wl_keyboard, uint32_t forma char *map_shm = mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0); if (map_shm == MAP_FAILED) { close(fd); - die("MAP_FAILED"); + die("keyboard_keymap(): MAP_FAILED"); return; } state->xkb_keymap = xkb_keymap_new_from_string(state->xkb_context, map_shm, XKB_KEYMAP_FORMAT_TEXT_V1, 0); @@ -480,11 +483,11 @@ void create_drawable(struct state *state) { state->buffer = create_buffer(state); if (draw == NULL) { - die("spmenu: draw == NULL"); + die("create_drawable(): A drawable was not created."); } if (state->buffer == NULL) { - die("state->buffer == NULL"); + die("create_drawable(): Buffer state->buffer could not be created."); } draw_create_surface_wl(draw, state->data, state->width, state->height); @@ -569,13 +572,13 @@ int await_dispatch(struct state *state) { do { if (wl_display_flush(state->display) == -1 && errno != EAGAIN) { - fprintf(stderr, "spmenu: wl_display_flush failed: %s\n", strerror(errno)); + fprintf(stderr, "await_dispatch(): wl_display_flush failed: %s\n", strerror(errno)); break; } } while (errno == EAGAIN); if (poll(fds, nfds, -1) < 0) { - fprintf(stderr, "spmenu: poll failed: %s\n", strerror(errno)); + fprintf(stderr, "await_dispatch(): poll failed: %s\n", strerror(errno)); break; } @@ -608,13 +611,17 @@ int init_disp(struct state *state) { wl_registry_add_listener(registry, ®istry_listener, state); wl_display_roundtrip(state->display); - assert(state->compositor != NULL); - - if (state->layer_shell == NULL) { - die("spmenu: Your compositor does not implement the wlr-layer-shell protocol. Run spmenu in X11 mode."); + if (state->compositor == NULL) { + die("init_disp(): No Wayland compositor."); } - assert(state->shm != NULL); + if (state->layer_shell == NULL) { + die("init_disp(): Your compositor does not implement the wlr-layer-shell protocol."); + } + + if (state->shm == NULL) { + die("init_disp(): Could not create shared memory buffer.\n"); + } wl_display_roundtrip(state->display); @@ -653,7 +660,7 @@ void resizeclient_wl(struct state *state) { state->buffer = create_buffer(state); if (draw == NULL) { - die("spmenu: draw == NULL"); + die("resizeclient_wl(): Draw_t is NULL."); } if (state->buffer == NULL) { @@ -691,12 +698,19 @@ int init_keys(struct state *state) { } int create_layer(struct state *state, char *name) { - assert(state->compositor != NULL); + if (state->compositor == NULL) { + die("create_layer(): No Wayland compositor."); + } state->surface = wl_compositor_create_surface(state->compositor); - assert(state->surface != NULL); - assert(state->layer_shell != NULL); + if (state->surface == NULL) { + die("create_layer(): Could not create surface state->surface using state->compositor"); + } + + if (state->layer_shell == NULL) { + die("create_layer(): Your compositor does not implement the wlr-layer-shell protocol. Run spmenu in X11 mode."); + } wl_surface_add_listener(state->surface, &surface_listener, state); state->layer_surface = zwlr_layer_shell_v1_get_layer_surface( @@ -706,13 +720,18 @@ int create_layer(struct state *state, char *name) { ZWLR_LAYER_SHELL_V1_LAYER_TOP, name); - assert(state->layer_surface != NULL); + if (state->layer_surface == NULL) { + die("create_layer(): Could not get layer_surface state->layer_surface"); + } return 0; } int anchor_layer(struct state *state, int position) { - assert(state->layer_surface != NULL); + if (state->layer_surface == NULL) { + die("anchor_layer(): Could not get layer_surface state->layer_surface"); + } + zwlr_layer_surface_v1_set_anchor( state->layer_surface, ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT | @@ -725,7 +744,9 @@ int anchor_layer(struct state *state, int position) { } int set_layer_size(struct state *state, int32_t width, int32_t height) { - assert(state->layer_surface != NULL); + if (state->layer_surface != NULL) { + die("set_layer_size(): Could not get layer_surface state->layer_surface"); + } zwlr_layer_surface_v1_set_size(state->layer_surface, width, height); @@ -733,7 +754,9 @@ int set_layer_size(struct state *state, int32_t width, int32_t height) { } int set_exclusive_zone(struct state *state, unsigned int val) { - assert(state->layer_surface != NULL); + if (state->layer_surface == NULL) { + die("set_exclusive_zone(): Could not get layer_surface state->layer_surface"); + } zwlr_layer_surface_v1_set_exclusive_zone(state->layer_surface, val); @@ -741,7 +764,9 @@ int set_exclusive_zone(struct state *state, unsigned int val) { } int set_keyboard(struct state *state, int interactivity) { - assert(state->layer_surface != NULL); + if (state->layer_surface == NULL) { + die("set_keyboard(): Could not get layer_surface state->layer_surface"); + } zwlr_layer_surface_v1_set_keyboard_interactivity(state->layer_surface, interactivity ? true : false); @@ -749,7 +774,9 @@ int set_keyboard(struct state *state, int interactivity) { } int add_layer_listener(struct state *state) { - assert(state->layer_surface != NULL); + if (state->layer_surface == NULL) { + die("add_layer_listener(): Could not get layer_surface state->layer_surface"); + } zwlr_layer_surface_v1_add_listener(state->layer_surface, &layer_surface_listener, state); @@ -757,8 +784,9 @@ int add_layer_listener(struct state *state) { } int set_visible_layer(struct state *state) { - assert(state->layer_surface != NULL); - assert(state->surface != NULL); + if (state->layer_surface == NULL) { + die("set_visible_layer(): Could not get layer_surface state->layer_surface"); + } wl_surface_commit(state->surface); diff --git a/libs/wl/wayland.h b/libs/wl/wayland.h index 3f529ed..81a022e 100644 --- a/libs/wl/wayland.h +++ b/libs/wl/wayland.h @@ -8,7 +8,6 @@ #include #include #include -#include #include #include #include diff --git a/spmenu.c b/spmenu.c index 3e5a86c..a52bbdd 100644 --- a/spmenu.c +++ b/spmenu.c @@ -518,11 +518,11 @@ void get_mh(void) { } void set_mode(void) { - if (!type) { // no typing allowed, require normal mode + if (!type) { sp.mode = 0; } - // set default mode, must be done before the event loop or keybindings will not work + // set default mode if (mode) { sp.mode = 1; sp.allowkeys = 1;