From 58beb0bc9236234a697a3619c5023100a9574a59 Mon Sep 17 00:00:00 2001 From: peter Date: Sat, 5 Sep 2026 07:22:31 +0000 Subject: Full coverage of bin/main.c FossilOrigin-Name: 91deb642cded69b6c480471147004489a6072ec7c6603286aa6c0ebfc75bf030 --- src/lib/main.c | 13 +++++++++++++ src/lib/memory.c | 6 +----- src/lib/syntax.c | 4 +++- 3 files changed, 17 insertions(+), 6 deletions(-) (limited to 'src/lib') diff --git a/src/lib/main.c b/src/lib/main.c index 161fdde..bba93d3 100644 --- a/src/lib/main.c +++ b/src/lib/main.c @@ -228,3 +228,16 @@ aplwc_valid_line(AplwcLine *l) { return valid_ref(&l->ref); } + +uint64_t aplwc_simulate_failure_at; +uint64_t aplwc_simulate_failure_count; + +int +aplwc_simulate_failure(void) +{ + aplwc_simulate_failure_count++; + if(aplwc_simulate_failure_at && (aplwc_simulate_failure_count >= aplwc_simulate_failure_at)) + return 1; + else + return 0; +} diff --git a/src/lib/memory.c b/src/lib/memory.c index 8dbb5f2..03f2056 100644 --- a/src/lib/memory.c +++ b/src/lib/memory.c @@ -379,13 +379,10 @@ alloc(struct aplwc *aplwc, size_t size, enum chunk_tag tag) if(pad) size += ALIGNMENT - pad; - if(aplwc->fns.hook_alloc && !aplwc->fns.hook_alloc()) - goto fail; - attempt = 0; retry: DEBUG(check_mem(aplwc)); - free = find_free(aplwc, size); + free = FAILCASE(find_free(aplwc, size), NULL); if(!free){ switch(attempt++){ case 0: @@ -399,7 +396,6 @@ retry: goto retry; /* fall-through */ default: -fail: aplwc->last_error = APLWC_OUT_OF_MEMORY; return NULL; } diff --git a/src/lib/syntax.c b/src/lib/syntax.c index 6e08d1b..23138ed 100644 --- a/src/lib/syntax.c +++ b/src/lib/syntax.c @@ -286,8 +286,10 @@ scan_string(struct aplwc *aplwc, struct string *text, int oneline) goto end; tokens = memory_alloc_token_list(aplwc, n); - if(tokens == NULL) + if(tokens == NULL){ + rc = aplwc->last_error; goto end; + } tokens->text = text; tokens->length = n; scan(text, tokens); -- cgit v1.2.3