summaryrefslogtreecommitdiffstats
path: root/src/history.c
diff options
context:
space:
mode:
authorLouis Burda <quent.burda@gmail.com>2022-02-14 12:46:09 +0100
committerLouis Burda <quent.burda@gmail.com>2022-02-14 12:46:09 +0100
commitfa2f322580bba3ff71053c895f658ecb4116a456 (patch)
tree735233e90e6158662d5d2b94e1f4a902d4a2b347 /src/history.c
parent72de33c4f15144e7c597fad850510dd7da88a0f2 (diff)
downloadtmus-fa2f322580bba3ff71053c895f658ecb4116a456.tar.gz
tmus-fa2f322580bba3ff71053c895f658ecb4116a456.zip
Improve error handling, history bug fix
Diffstat (limited to 'src/history.c')
-rw-r--r--src/history.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/history.c b/src/history.c
index 8337bad..f393d98 100644
--- a/src/history.c
+++ b/src/history.c
@@ -68,10 +68,12 @@ history_list_next(struct inputln *cur, const wchar_t *search)
struct link *iter;
struct inputln *ln;
- for (iter = cur->link.next; iter; iter = iter->next) {
+ iter = cur->link.next;
+ while (LIST_INNER(iter)) {
ln = UPCAST(iter, struct inputln);
if (!search || !*search || wcsstr(ln->buf, search))
return ln;
+ iter = iter->next;
}
return cur;
@@ -121,7 +123,7 @@ inputln_alloc(void)
struct inputln *ln;
ln = malloc(sizeof(struct inputln));
- ASSERT(ln != NULL);
+ OOM_CHECK(ln);
inputln_init(ln);
return ln;
@@ -194,7 +196,7 @@ inputln_copy(struct inputln *dst, struct inputln *src)
}
dst->len = src->len;
dst->buf = wcsdup(src->buf);
- ASSERT(dst->buf != NULL);
+ OOM_CHECK(dst->buf);
dst->cap = src->len + 1;
dst->cur = dst->len;
}
@@ -216,7 +218,8 @@ inputln_resize(struct inputln *ln, size_t size)
ln->cap = size;
ln->buf = realloc(ln->buf, ln->cap * sizeof(wchar_t));
- ASSERT(ln->buf != NULL);
+ OOM_CHECK(ln->buf);
ln->len = MIN(ln->len, ln->cap-1);
ln->buf[ln->len] = '\0';
}
+