X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8bd1d4d43b1cbdeec15247821932f6ca0971fd96..4a69abcc786d029bd2962537f767d12a0f808d11:/src/xbt/xbt_log_layout_format.c diff --git a/src/xbt/xbt_log_layout_format.c b/src/xbt/xbt_log_layout_format.c index 64162da8a1..1de4e72e6e 100644 --- a/src/xbt/xbt_log_layout_format.c +++ b/src/xbt/xbt_log_layout_format.c @@ -1,14 +1,11 @@ /* layout_simple - a dumb log layout */ -/* Copyright (c) 2007-2014. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2007-2016. 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. */ #include "src/internal_config.h" /* execinfo when available */ -#include "xbt/synchro_core.h" /* xbt_thread_self_name */ -#include "src/xbt/ex_interface.h" #include "xbt/sysdep.h" #include "xbt/strbuff.h" #include "src/xbt/log_private.h" @@ -53,7 +50,8 @@ static double format_begin_of_time = -1; #define show_it(data, letter) \ if (1) { \ - int len, wd; \ + int len; \ + int wd; \ if (length == -1) { \ wd = 0; \ } else { \ @@ -83,9 +81,8 @@ static int xbt_log_layout_format_doit(xbt_log_layout_t l, xbt_log_event_t ev, co int rem_size = ev->buffer_size; int precision = -1; int length = -1; - char *q; - for (q = l->data ; *q != '\0' ; q++) { + for (char* q = l->data ; *q != '\0' ; q++) { if (*q == '%') { q++; handle_modifier: @@ -143,9 +140,9 @@ static int xbt_log_layout_format_doit(xbt_log_layout_t l, xbt_log_event_t ev, co show_string(ev->fileName); break; case 'l': { /* location; LOG4J compliant */ - int len, sz; + int sz; set_sz_from_precision(); - len = snprintf(p, sz, "%s:%d", ev->fileName, ev->lineNum); + int len = snprintf(p, sz, "%s:%d", ev->fileName, ev->lineNum); check_overflow(MIN(sz, len)); break; } @@ -157,13 +154,13 @@ static int xbt_log_layout_format_doit(xbt_log_layout_t l, xbt_log_event_t ev, co break; case 'b': /* backtrace; called %throwable in LOG4J */ case 'B': /* short backtrace; called %throwable{short} in LOG4J */ -#if HAVE_EXECINFO_H && HAVE_POPEN && defined(ADDR2LINE) +// TODO, backtrace +#if 0 && HAVE_BACKTRACE && HAVE_EXECINFO_H && HAVE_POPEN && defined(ADDR2LINE) { - xbt_ex_t e; + xbt_ex_t e(""); e.used = backtrace((void **) e.bt, XBT_BACKTRACE_SIZE); e.bt_strings = NULL; - e.msg = NULL; xbt_ex_setup_backtrace(&e); if (*q == 'B') { show_string(e.bt_strings[1] + 8); @@ -178,7 +175,6 @@ static int xbt_log_layout_format_doit(xbt_log_layout_t l, xbt_log_event_t ev, co show_string(buff->data); xbt_strbuff_free(buff); } - xbt_ex_free(e); } #else show_string("(no backtrace on this arch)"); @@ -191,9 +187,9 @@ static int xbt_log_layout_format_doit(xbt_log_layout_t l, xbt_log_event_t ev, co show_double(surf_get_clock() - format_begin_of_time); break; case 'm': { /* user-provided message; LOG4J compliant */ - int len, sz; + int sz; set_sz_from_precision(); - len = vsnprintf(p, sz, msg_fmt, ev->ap); + int len = vsnprintf(p, sz, msg_fmt, ev->ap); check_overflow(MIN(sz, len)); break; } @@ -219,8 +215,8 @@ static void xbt_log_layout_format_free(xbt_log_layout_t lay) xbt_log_layout_t xbt_log_layout_format_new(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->do_layout = &xbt_log_layout_format_doit; + res->free_ = &xbt_log_layout_format_free; res->data = xbt_strdup((char *) arg); if (format_begin_of_time < 0)