diff options
author | NRK <nrk@disroot.org> | 2023-01-28 11:27:40 +0100 |
---|---|---|
committer | NRK <nrk@disroot.org> | 2023-01-28 11:27:40 +0100 |
commit | 01f3cf2e4778940a82001e48cfeec767841f52c4 (patch) | |
tree | 7d61272eb5c71935238d0ecd52b2806398564fce | |
parent | 6ffc64a04e5e4200103db9df6bd85f958a942d9f (diff) | |
download | nsxiv-01f3cf2e4778940a82001e48cfeec767841f52c4.tar.zst |
use assertions instead of ignoring bogus arguments (#406)
instead of silently ignoring bogus arguments (i.e programming errors),
which can make debugging harder, it's better to assert them so that they
get caught faster in debug builds.
Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/406
Reviewed-by: explosion-mental <explosion-mental@noreply.codeberg.org>
-rw-r--r-- | thumbs.c | 12 | ||||
-rw-r--r-- | util.c | 3 | ||||
-rw-r--r-- | window.c | 7 |
3 files changed, 9 insertions, 13 deletions
@@ -21,6 +21,7 @@ #define INCLUDE_THUMBS_CONFIG #include "config.h" +#include <assert.h> #include <errno.h> #include <stdio.h> #include <stdlib.h> @@ -40,8 +41,7 @@ static char* tns_cache_filepath(const char *filepath) size_t len; char *cfile = NULL; - if (*filepath != '/') - return NULL; + assert(*filepath == '/' && "filepath should be result of realpath(3)"); if (strncmp(filepath, cache_dir, strlen(cache_dir)) != 0) { /* don't cache images inside the cache directory! */ @@ -355,9 +355,7 @@ void tns_unload(tns_t *tns, int n) { thumb_t *t; - if (n < 0 || n >= *tns->cnt) - return; - + assert(n >= 0 && n < *tns->cnt); t = &tns->thumbs[n]; if (t->im != NULL) { @@ -371,9 +369,7 @@ static void tns_check_view(tns_t *tns, bool scrolled) { int r; - if (tns == NULL) - return; - + assert(tns != NULL); tns->first -= tns->first % tns->cols; r = *tns->sel % tns->cols; @@ -226,8 +226,7 @@ void construct_argv(char **argv, unsigned int len, ...) for (i = 0; i < len; ++i) argv[i] = va_arg(args, char *); va_end(args); - if (argv[len-1] != NULL) - error(EXIT_FAILURE, 0, "argv not NULL terminated"); + assert(argv[len-1] == NULL && "argv should be NULL terminated"); } static int mkspawn_pipe(posix_spawn_file_actions_t *fa, const char *cmd, int *pfd, int dupidx) @@ -22,6 +22,7 @@ #include "config.h" #include "icon/data.h" +#include <assert.h> #include <locale.h> #include <stdlib.h> #include <string.h> @@ -450,10 +451,10 @@ static void win_draw_bar(win_t *win) win_bar_t *l, *r; XftDraw *d; - if ((l = &win->bar.l)->buf == NULL || (r = &win->bar.r)->buf == NULL) - return; - e = &win->env; + l = &win->bar.l; + r = &win->bar.r; + assert(l->buf != NULL && r->buf != NULL); y = (win->bar.top ? 0 : win->h) + font->ascent + V_TEXT_PAD; w = win->w - 2*H_TEXT_PAD; d = XftDrawCreate(e->dpy, win->buf.pm, e->vis, e->cmap); |