diff options
| author | peter <peter@pmikkelsen.com> | 2026-09-05 07:22:31 +0000 |
|---|---|---|
| committer | peter <peter@pmikkelsen.com> | 2026-09-05 07:22:31 +0000 |
| commit | 58beb0bc9236234a697a3619c5023100a9574a59 (patch) | |
| tree | 09078526487e37b000fcfc5305e1967cece90050 /src/lib | |
| parent | 91ddaf36c86658b852f31dbaa7c1e96a980315c4 (diff) | |
Full coverage of bin/main.c
FossilOrigin-Name: 91deb642cded69b6c480471147004489a6072ec7c6603286aa6c0ebfc75bf030
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/main.c | 13 | ||||
| -rw-r--r-- | src/lib/memory.c | 6 | ||||
| -rw-r--r-- | src/lib/syntax.c | 4 |
3 files changed, 17 insertions, 6 deletions
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); |