X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/10db8497dc004522ac3eb0baad153f7549a3a96f..86d34ae9f0559e524d3e0f12f6003ec700cb9bb5:/src/xbt/log.cpp diff --git a/src/xbt/log.cpp b/src/xbt/log.cpp index ba62665372..7f4da38243 100644 --- a/src/xbt/log.cpp +++ b/src/xbt/log.cpp @@ -1,6 +1,6 @@ /* log - a generic logging facility in the spirit of log4j */ -/* Copyright (c) 2004-2019. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2004-2020. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -125,8 +125,6 @@ void xbt_log_init(int *argc, char **argv) static void log_cat_exit(const s_xbt_log_category_t* cat) { - xbt_log_category_t child; - if (cat->appender) { if (cat->appender->free_) cat->appender->free_(cat->appender); @@ -138,7 +136,7 @@ static void log_cat_exit(const s_xbt_log_category_t* cat) xbt_free(cat->layout); } - for (child = cat->firstChild; child != nullptr; child = child->nextSibling) + for (auto const* child = cat->firstChild; child != nullptr; child = child->nextSibling) log_cat_exit(child); } @@ -163,8 +161,8 @@ void _xbt_log_event_log(xbt_log_event_t ev, const char *fmt, ...) xbt_assert(static_cast(ev->priority) < sizeof(xbt_log_priority_names)/sizeof(xbt_log_priority_names[0]), "Priority %d is greater than the biggest allowed value", ev->priority); - while (1) { - xbt_log_appender_t appender = cat->appender; + while (true) { + const s_xbt_log_appender_t* appender = cat->appender; if (appender != nullptr) { xbt_assert(cat->layout, "No valid layout for the appender of category %s", cat->name); @@ -177,13 +175,14 @@ void _xbt_log_event_log(xbt_log_event_t ev, const char *fmt, ...) va_start(ev->ap, fmt); done = cat->layout->do_layout(cat->layout, ev, fmt); va_end(ev->ap); + ev->buffer = nullptr; // Calm down, static analyzers, this pointer to local array won't leak out of the scope. if (done) { appender->do_append(appender, buff); } else { /* The static buffer was too small, use a dynamically expanded one */ ev->buffer_size = XBT_LOG_DYNAMIC_BUFFER_SIZE; ev->buffer = static_cast(xbt_malloc(ev->buffer_size)); - while (1) { + while (true) { va_start(ev->ap, fmt); done = cat->layout->do_layout(cat->layout, ev, fmt); va_end(ev->ap);