rsys

Basic data structures and low-level features
git clone git://git.meso-star.fr/rsys.git
Log | Files | Refs | README | LICENSE

commit b5468b0a5a271f1e63ca19a4fe47dadaf60913ff
parent 32c6997383c67b517e3073b95423af137d25ee1e
Author: vaplv <vaplv@free.fr>
Date:   Mon,  8 Dec 2014 13:57:23 +0100

Add and test the logger_has_stream function

Diffstat:
Msrc/logger.h | 9+++++++++
Msrc/test_logger.c | 11+++++++++++
2 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/src/logger.h b/src/logger.h @@ -82,6 +82,15 @@ logger_set_stream logger->streams[type].ctx = ctx; } +static FINLINE char +logger_has_stream + (struct logger* logger, + const enum log_type type) +{ + ASSERT(logger && (unsigned)type < LOG_TYPES_COUNT__); + return logger->streams[type].writer != NULL; +} + BEGIN_DECLS RSYS_API res_T diff --git a/src/test_logger.c b/src/test_logger.c @@ -69,7 +69,12 @@ main(int argc, char** argv) CHECK(istream_err, 0); CHECK(istream_warn, 0); + CHECK(logger_has_stream(&logger, LOG_OUTPUT), 0); + CHECK(logger_has_stream(&logger, LOG_ERROR), 0); + CHECK(logger_has_stream(&logger, LOG_WARNING), 0); + logger_set_stream(&logger, LOG_OUTPUT, func_stream_out, &istream_out); + CHECK(logger_has_stream(&logger, LOG_OUTPUT), 1); logger_print(&logger, LOG_OUTPUT, "output"); CHECK(istream_out, 1); CHECK(istream_err, 0); @@ -77,6 +82,9 @@ main(int argc, char** argv) logger_set_stream(&logger, LOG_ERROR, func_stream_err, &istream_err); logger_set_stream(&logger, LOG_WARNING, func_stream_warn, &istream_warn); + CHECK(logger_has_stream(&logger, LOG_OUTPUT), 1); + CHECK(logger_has_stream(&logger, LOG_ERROR), 1); + CHECK(logger_has_stream(&logger, LOG_WARNING), 1); logger_print(&logger, LOG_OUTPUT, "output"); CHECK(istream_out, 2); CHECK(istream_err, 0); @@ -116,6 +124,9 @@ main(int argc, char** argv) CHECK(istream_warn, 2); logger_clear(&logger); + CHECK(logger_has_stream(&logger, LOG_OUTPUT), 0); + CHECK(logger_has_stream(&logger, LOG_ERROR), 0); + CHECK(logger_has_stream(&logger, LOG_WARNING), 0); istream_out = istream_err = istream_warn = 0; logger_set_stream(&logger, LOG_OUTPUT, func_stream_out, &istream_out);