X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b535dc5f8e8d9402e481b0186ddb81f11b486d01..c76dff0228ca1145b553ffc73f0293ac8f8a75d1:/src/xbt/xbt_log_layout_format.cpp diff --git a/src/xbt/xbt_log_layout_format.cpp b/src/xbt/xbt_log_layout_format.cpp index 49c9ba26c7..61bb830b77 100644 --- a/src/xbt/xbt_log_layout_format.cpp +++ b/src/xbt/xbt_log_layout_format.cpp @@ -1,6 +1,6 @@ /* layout_simple - a dumb log layout */ -/* Copyright (c) 2007-2021. The SimGrid Team. */ +/* Copyright (c) 2007-2023. The SimGrid Team. */ /* 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. */ @@ -9,6 +9,7 @@ #include "simgrid/host.h" #include "src/xbt/log_private.hpp" #include "xbt/sysdep.h" +#include "xbt/virtu.h" #include #include @@ -87,6 +88,8 @@ static bool xbt_log_layout_format_doit(const s_xbt_log_layout_t* l, xbt_log_even // *q == '%' q++; do { + int sz; + int len; switch (*q) { case '\0': fprintf(stderr, "Layout format (%s) ending with %%\n", (char*)l->data); @@ -139,13 +142,11 @@ static bool xbt_log_layout_format_doit(const s_xbt_log_layout_t* l, xbt_log_even case 'F': /* file name; LOG4J compliant */ show_string(ev->fileName); break; - case 'l': { /* location; LOG4J compliant */ - int sz; + case 'l': /* location; LOG4J compliant */ set_sz_from_precision(); - int len = snprintf(p, sz, "%s:%d", ev->fileName, ev->lineNum); + len = snprintf(p, sz, "%s:%d", ev->fileName, ev->lineNum); check_overflow(std::min(sz, len)); break; - } case 'L': /* line number; LOG4J compliant */ show_int(ev->lineNum); break; @@ -156,16 +157,14 @@ static bool xbt_log_layout_format_doit(const s_xbt_log_layout_t* l, xbt_log_even case 'r': /* application age; LOG4J compliant */ show_double(simgrid_get_clock()); break; - case 'm': { /* user-provided message; LOG4J compliant */ - int sz; + case 'm': /* user-provided message; LOG4J compliant */ set_sz_from_precision(); va_list ap; va_copy(ap, ev->ap); - int len = vsnprintf(p, sz, msg_fmt, ap); + len = vsnprintf(p, sz, msg_fmt, ap); va_end(ap); check_overflow(std::min(sz, len)); break; - } default: fprintf(stderr, ERRMSG, *q, (char*)l->data); xbt_abort(); @@ -186,10 +185,10 @@ static void xbt_log_layout_format_free(const s_xbt_log_layout_t* lay) xbt_log_layout_t xbt_log_layout_format_new(const char* arg) { - xbt_log_layout_t res = xbt_new0(s_xbt_log_layout_t, 1); - res->do_layout = &xbt_log_layout_format_doit; - res->free_ = &xbt_log_layout_format_free; - res->data = xbt_strdup(arg); + auto* res = xbt_new0(s_xbt_log_layout_t, 1); + res->do_layout = &xbt_log_layout_format_doit; + res->free_ = &xbt_log_layout_format_free; + res->data = xbt_strdup(arg); return res; }