commit b9a4cd492c6d2e9a99c692c4063630559e3bf386
parent b1c2d4d291175086a73361d53030b8b2b8b40c76
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Wed, 26 Oct 2022 12:27:15 +0200
htrdr-planeto: plug command creation into the main function
Diffstat:
1 file changed, 18 insertions(+), 0 deletions(-)
diff --git a/src/planeto/htrdr_planeto_main.c b/src/planeto/htrdr_planeto_main.c
@@ -26,7 +26,10 @@ int
htrdr_planeto_main(int argc, char** argv)
{
char cmd_name[] = "htrdr-planeto";
+ struct htrdr_args htrdr_args = HTRDR_ARGS_DEFAULT;
struct htrdr_planeto_args cmd_args = HTRDR_PLANETO_ARGS_DEFAULT;
+ struct htrdr* htrdr = NULL;
+ struct htrdr_planeto* cmd = NULL;
const size_t memsz_begin = mem_allocated_size();
size_t memsz_end;
int is_mpi_init = 0;
@@ -44,9 +47,24 @@ htrdr_planeto_main(int argc, char** argv)
if(res != RES_OK) goto error;
if(cmd_args.quit) goto exit;
+ htrdr_args.nthreads = cmd_args.nthreads;
+ htrdr_args.verbose = cmd_args.verbose;
+ res = htrdr_create(&mem_default_allocator, &htrdr_args, &htrdr);
+ if(res != RES_OK) goto error;
+
+ if(cmd_args.output_type == HTRDR_PLANETO_ARGS_OUTPUT_OCTREES
+ && htrdr_get_mpi_rank(htrdr) != 0) {
+ goto exit; /* Nothing to do except for the master process */
+ }
+
+ res = htrdr_planeto_create(htrdr, &cmd_args, &cmd);
+ if(res != RES_OK) goto error;
+
exit:
htrdr_planeto_args_release(&cmd_args);
if(is_mpi_init) htrdr_mpi_finalize();
+ if(htrdr) htrdr_ref_put(htrdr);
+ if(cmd) htrdr_planeto_ref_put(cmd);
/* Check memory leaks */
memsz_end = mem_allocated_size();