X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5dd4e01cd9be32abc26c52aa384fc49aa2db591a..84402e8e2ee2a2d0bef25fdceb0a263ed8b471f6:/src/xbt/xbt_log_layout_format.cpp?ds=sidebyside diff --git a/src/xbt/xbt_log_layout_format.cpp b/src/xbt/xbt_log_layout_format.cpp index 5bbf144084..670d4d5da4 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-2019. The SimGrid Team. */ +/* Copyright (c) 2007-2020. 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. */ @@ -40,34 +40,35 @@ static constexpr const char* ERRMSG = } \ } else (void)0 -#define show_it(data, letter) \ - if (1) { \ - int len; \ - int wd; \ - if (length == -1) { \ - wd = 0; \ - } else { \ - wd = length; \ - length = -1; \ - } \ - if (precision == -1) { \ - len = snprintf(p, rem_size, "%*" letter, wd, data); \ - } else { \ - len = snprintf(p, rem_size, "%*.*" letter, wd, precision, data); \ - precision = -1; \ - } \ - check_overflow(len); \ - } else (void)0 +#define show_it(data, letter) \ + if (1) { \ + int len; \ + int wd; \ + if (length == -1) { \ + wd = 0; \ + } else { \ + wd = length; \ + length = -1; \ + } \ + if (precision == -1) { \ + len = snprintf(p, rem_size, "%*" letter, wd, (data)); \ + } else { \ + len = snprintf(p, rem_size, "%*.*" letter, wd, precision, (data)); \ + precision = -1; \ + } \ + check_overflow(len); \ + } else \ + (void)0 #define show_string(data) \ if (1) { \ const char *show_string_data = (data); \ show_it(show_string_data ? show_string_data : "(null)", "s"); \ } else (void)0 -#define show_int(data) show_it(data, "d") -#define show_double(data) show_it(data, "f") +#define show_int(data) show_it((data), "d") +#define show_double(data) show_it((data), "f") -static int xbt_log_layout_format_doit(xbt_log_layout_t l, xbt_log_event_t ev, const char* msg_fmt) +static int xbt_log_layout_format_doit(const s_xbt_log_layout_t* l, xbt_log_event_t ev, const char* msg_fmt) { char *p = ev->buffer; int rem_size = ev->buffer_size; @@ -174,17 +175,17 @@ static int xbt_log_layout_format_doit(xbt_log_layout_t l, xbt_log_event_t ev, co return 1; } -static void xbt_log_layout_format_free(xbt_log_layout_t lay) +static void xbt_log_layout_format_free(const s_xbt_log_layout_t* lay) { - free(lay->data); + xbt_free(lay->data); } -xbt_log_layout_t xbt_log_layout_format_new(char *arg) +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((char *) arg); + res->data = xbt_strdup(arg); return res; }