loader_aw

Load OBJ/MTL file formats
git clone git://git.meso-star.fr/loader_aw.git
Log | Files | Refs | README | LICENSE

commit dacdf9bc448d8e004758441c6b35fd6fe22be773
parent 8f7c28727c56d4292832e2c5e25c7f3fd12dafea
Author: vaplv <vaplv@free.fr>
Date:   Sun,  7 Dec 2014 15:29:15 +0100

Add and test the aw_<obj|mtl>_set_logger functions

Diffstat:
Msrc/aw.h | 10++++++++++
Msrc/aw_mtl.c | 14++++++++++----
Msrc/aw_obj.c | 8++++++++
Msrc/test_aw_mtl.c | 5+++++
Msrc/test_aw_obj.c | 5+++++
5 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/src/aw.h b/src/aw.h @@ -154,6 +154,11 @@ aw_obj_ref_put (struct aw_obj* obj); AW_API res_T +aw_obj_set_logger + (struct aw_obj* obj, + struct logger* logger); /* NULL <=> use default logger */ + +AW_API res_T aw_obj_load (struct aw_obj* obj, const char* filename); @@ -222,6 +227,11 @@ aw_mtl_ref_put (struct aw_mtl* mtl); AW_API res_T +aw_mtl_set_logger + (struct aw_mtl* mtl, + struct logger* logger); /* NULL <=> use default logger */ + +AW_API res_T aw_mtl_load (struct aw_mtl* mtl, const char* filename); diff --git a/src/aw_mtl.c b/src/aw_mtl.c @@ -578,8 +578,7 @@ error: res_T aw_mtl_ref_get(struct aw_mtl* mtl) { - if(!mtl) - return RES_BAD_ARG; + if(!mtl) return RES_BAD_ARG; ref_get(&mtl->ref); return RES_OK; } @@ -587,13 +586,20 @@ aw_mtl_ref_get(struct aw_mtl* mtl) res_T aw_mtl_ref_put(struct aw_mtl* mtl) { - if(!mtl) - return RES_BAD_ARG; + if(!mtl) return RES_BAD_ARG; ref_put(&mtl->ref, mtl_release); return RES_OK; } res_T +aw_mtl_set_logger(struct aw_mtl* mtl, struct logger* logger) +{ + if(!mtl) return RES_BAD_ARG; + mtl->logger = logger ? logger : LOGGER_DEFAULT; + return RES_OK; +} + +res_T aw_mtl_load(struct aw_mtl* mtl, const char* filename) { FILE* file; diff --git a/src/aw_obj.c b/src/aw_obj.c @@ -580,6 +580,14 @@ aw_obj_ref_put(struct aw_obj* obj) } res_T +aw_obj_set_logger(struct aw_obj* obj, struct logger* logger) +{ + if(!obj) return RES_BAD_ARG; + obj->logger = logger ? logger : LOGGER_DEFAULT; + return RES_OK; +} + +res_T aw_obj_load(struct aw_obj* obj, const char* filename) { FILE* file; diff --git a/src/test_aw_mtl.c b/src/test_aw_mtl.c @@ -332,6 +332,11 @@ main(int argc, char** argv) CHECK(aw_mtl_create(LOGGER_DEFAULT, &allocator, &mtl), RES_OK); + CHECK(aw_mtl_set_logger(NULL, NULL), RES_BAD_ARG); + CHECK(aw_mtl_set_logger(mtl, NULL), RES_OK); + CHECK(aw_mtl_set_logger(NULL, LOGGER_DEFAULT), RES_BAD_ARG); + CHECK(aw_mtl_set_logger(mtl, LOGGER_DEFAULT), RES_OK); + test_common(mtl); test_multiple_materials(mtl); test_unloadable(mtl); diff --git a/src/test_aw_obj.c b/src/test_aw_obj.c @@ -511,6 +511,11 @@ main(int argc, char** argv) CHECK(aw_obj_create(LOGGER_DEFAULT, &allocator, &obj), RES_OK); + CHECK(aw_obj_set_logger(NULL, NULL), RES_BAD_ARG); + CHECK(aw_obj_set_logger(obj, NULL), RES_OK); + CHECK(aw_obj_set_logger(NULL, LOGGER_DEFAULT), RES_BAD_ARG); + CHECK(aw_obj_set_logger(obj, LOGGER_DEFAULT), RES_OK); + test_plane(obj); test_squares(obj); test_cube(obj);