diff options
| author | Louis Burda <quent.burda@gmail.com> | 2022-02-14 12:46:09 +0100 |
|---|---|---|
| committer | Louis Burda <quent.burda@gmail.com> | 2022-02-14 12:46:09 +0100 |
| commit | fa2f322580bba3ff71053c895f658ecb4116a456 (patch) | |
| tree | 735233e90e6158662d5d2b94e1f4a902d4a2b347 /src/history.c | |
| parent | 72de33c4f15144e7c597fad850510dd7da88a0f2 (diff) | |
| download | tmus-fa2f322580bba3ff71053c895f658ecb4116a456.tar.gz tmus-fa2f322580bba3ff71053c895f658ecb4116a456.zip | |
Improve error handling, history bug fix
Diffstat (limited to 'src/history.c')
| -rw-r--r-- | src/history.c | 11 |
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'; } + |
