From 8521b6a69deab8cdabe1c87b09ecdc93d75af98e Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 30 Aug 2026 14:20:55 +0000 Subject: Remove the struct memory struct FossilOrigin-Name: 38568a34f631b2a4eef72542e2988a9fe081f85d3248194c2ff995a9eed6bd5d --- src/lib/module.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/lib/module.c') diff --git a/src/lib/module.c b/src/lib/module.c index 9a202f9..4c96f64 100644 --- a/src/lib/module.c +++ b/src/lib/module.c @@ -58,7 +58,7 @@ load_module(struct aplwc *aplwc, struct string *name, struct token_list *tokens) enum aplwc_rc rc; struct aplwc_module *module; - module = memory_alloc_aplwc_module(&aplwc->memory); + module = memory_alloc_aplwc_module(aplwc); if(module == NULL){ aplwc->last_error = APLWC_OUT_OF_MEMORY; return aplwc->last_error; @@ -73,7 +73,7 @@ load_module(struct aplwc *aplwc, struct string *name, struct token_list *tokens) module->link = aplwc->modules; aplwc->modules = module; }else{ - memory_free_aplwc_module(&aplwc->memory, module); + memory_free_aplwc_module(aplwc, module); } return rc; -- cgit v1.2.3 From 2261ffa04ddf30a7c8eae6e64129b293fc8bffd9 Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 30 Aug 2026 14:25:56 +0000 Subject: Let the memory allocation code set the last_error to APLWC_OUT_OF_MEMORY, instead of the callers FossilOrigin-Name: 46c74e207a84e861636dbfebc4ba8bb9e7b17401dfd2c4fb9bdeae0fa98fd530 --- src/lib/module.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/lib/module.c') diff --git a/src/lib/module.c b/src/lib/module.c index 4c96f64..db5dc78 100644 --- a/src/lib/module.c +++ b/src/lib/module.c @@ -59,10 +59,8 @@ load_module(struct aplwc *aplwc, struct string *name, struct token_list *tokens) struct aplwc_module *module; module = memory_alloc_aplwc_module(aplwc); - if(module == NULL){ - aplwc->last_error = APLWC_OUT_OF_MEMORY; + if(module == NULL) return aplwc->last_error; - } module->aplwc = aplwc; module->name = name; module->tokens = tokens; -- cgit v1.2.3 From 04827577ea502a9f0edc69e00e008751c8119cbc Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 30 Aug 2026 14:46:38 +0000 Subject: Remove a lot of functions for manually freeing memory (they were not implemented) FossilOrigin-Name: 693765728e62a74a0ab15d657f7d1dd83702a9371fb042dafe6250f84a252959 --- src/lib/module.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'src/lib/module.c') diff --git a/src/lib/module.c b/src/lib/module.c index db5dc78..f559f00 100644 --- a/src/lib/module.c +++ b/src/lib/module.c @@ -70,8 +70,6 @@ load_module(struct aplwc *aplwc, struct string *name, struct token_list *tokens) if(rc == APLWC_OK){ module->link = aplwc->modules; aplwc->modules = module; - }else{ - memory_free_aplwc_module(aplwc, module); } return rc; -- cgit v1.2.3 From 729964bea692f9683860978b89848784a7fc2f46 Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 30 Aug 2026 20:52:43 +0000 Subject: Still a lot to be done, but I'm going to bed. Two remaining big issues: * aplwc (the parameter passed "everywhere") - should it move or not? * values returned from the public API should not move. FossilOrigin-Name: 31ab3154b8f3d5ac167218496e9e204324bf0ac9d36b7bada8fe2a6c8f93d51c --- src/lib/module.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'src/lib/module.c') diff --git a/src/lib/module.c b/src/lib/module.c index f559f00..3bca396 100644 --- a/src/lib/module.c +++ b/src/lib/module.c @@ -58,9 +58,17 @@ load_module(struct aplwc *aplwc, struct string *name, struct token_list *tokens) enum aplwc_rc rc; struct aplwc_module *module; + MEMPTRS(aplwc, 2); + + MEMPTR(0, name); + MEMPTR(1, tokens); + module = memory_alloc_aplwc_module(aplwc); - if(module == NULL) - return aplwc->last_error; + if(module == NULL){ + rc = aplwc_last_error(aplwc); + goto end; + } + module->aplwc = aplwc; module->name = name; module->tokens = tokens; @@ -70,8 +78,11 @@ load_module(struct aplwc *aplwc, struct string *name, struct token_list *tokens) if(rc == APLWC_OK){ module->link = aplwc->modules; aplwc->modules = module; - } + }else + aplwc->last_error = rc; +end: + MEMPTRS_EXIT(aplwc); return rc; } -- cgit v1.2.3 From 34189c9b67f3427e077152e3a6c8cb21f4ba3441 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 31 Aug 2026 19:49:48 +0000 Subject: Remove some unneeded references to struct aplwc * in various structures. FossilOrigin-Name: 3b4b7806320d604b0df3654896cfe5d885f116d893ae15cfb3422d6d2de7193c --- src/lib/module.c | 1 - 1 file changed, 1 deletion(-) (limited to 'src/lib/module.c') diff --git a/src/lib/module.c b/src/lib/module.c index 3bca396..2524eca 100644 --- a/src/lib/module.c +++ b/src/lib/module.c @@ -69,7 +69,6 @@ load_module(struct aplwc *aplwc, struct string *name, struct token_list *tokens) goto end; } - module->aplwc = aplwc; module->name = name; module->tokens = tokens; module->link = NULL; -- cgit v1.2.3