commit e7055a1802dd4f5fc13d54907ae35242b7696d34
parent e946083eb5004db684d8baf38ca4a18b3da8dd31
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Fri, 10 Mar 2023 14:20:01 +0100
Improve log message about building neighbors
Diffstat:
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/cg_building.c b/src/cg_building.c
@@ -21,6 +21,7 @@
#include "cg_city.h"
#include "cg_building.h"
+#include <rsys/str.h>
#include <rsys/stretchy_array.h>
#include <rsys/mem_allocator.h>
#include <rsys/logger.h>
@@ -39,22 +40,24 @@ build_adjoining
struct scad_geometry** envelop_list = NULL;
struct htable_building_iterator it, end;
struct htable_building* close_buildings;
+ struct str msg;
ASSERT(allocator && logger && building && geom);
+ str_init(allocator, &msg);
close_buildings = &building->close_buildings;
count = htable_building_size_get(close_buildings);
- logger_print(logger, LOG_OUTPUT,
- "building '%s' considering %zu close neighbor(s) when creating CAD.\n",
- str_cget(&building->name), count);
-
envelop_list = MEM_CALLOC(allocator, count, sizeof(struct scad_geometry*));
if(!envelop_list) {
res = RES_MEM_ERR;
goto error;
}
+ ERR(str_printf(&msg,
+ "building '%s' considering close neighbor(s) when creating CAD:",
+ str_cget(&building->name)));
+
/* iterate over adjoining building */
htable_building_begin(close_buildings, &it);
htable_building_end(close_buildings, &end);
@@ -65,11 +68,15 @@ build_adjoining
close_building = *htable_building_iterator_key_get(&it);
ERR(close_building->functors->build_envelop(allocator, logger, close_building,
envelop_list + i++));
+ ERR(str_append_printf(&msg, " '%s'", str_cget(&close_building->name)));
htable_building_iterator_next(&it);
}
ASSERT(i == count);
+ logger_print(logger, LOG_OUTPUT, "%s.\n", str_cget(&msg));
+
exit:
+ str_release(&msg);
*geom = envelop_list;
return res;
error: