From 01f3cf2e4778940a82001e48cfeec767841f52c4 Mon Sep 17 00:00:00 2001 From: NRK Date: Sat, 28 Jan 2023 10:27:40 +0000 Subject: [PATCH] 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 --- thumbs.c | 12 ++++-------- util.c | 3 +-- window.c | 7 ++++--- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/thumbs.c b/thumbs.c index c9e97c4..038b501 100644 --- a/thumbs.c +++ b/thumbs.c @@ -21,6 +21,7 @@ #define INCLUDE_THUMBS_CONFIG #include "config.h" +#include #include #include #include @@ -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; diff --git a/util.c b/util.c index cfe64c6..94d4247 100644 --- a/util.c +++ b/util.c @@ -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) diff --git a/window.c b/window.c index 136b452..6e62979 100644 --- a/window.c +++ b/window.c @@ -22,6 +22,7 @@ #include "config.h" #include "icon/data.h" +#include #include #include #include @@ -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);