X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c383fa6fa203659a428a59e74522daca845dd1c6..1a39cc6fdc908c33507b5b0f8bae61f7286fd4ca:/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 ceb01d926d..5eba2b80b6 100644 --- a/src/xbt/xbt_log_layout_format.c +++ b/src/xbt/xbt_log_layout_format.c @@ -1,8 +1,7 @@ -/* $Id$ */ - /* layout_simple - a dumb log layout */ -/* Copyright (c) 2003, 2004 Martin Quinson. All rights reserved. */ +/* Copyright (c) 2007, 2008, 2009, 2010. 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. */ @@ -57,7 +56,6 @@ static void xbt_log_layout_format_dynamic(xbt_log_layout_t l, char *q = l->data; char *tmp; char *tmp2; - int vres; /* shut gcc up, but ignored */ while (*q != '\0') { if (*q == '%') { @@ -151,7 +149,7 @@ static void xbt_log_layout_format_dynamic(xbt_log_layout_t l, break; case 'm': /* user-provided message; LOG4J compliant */ - vres = vasprintf(&tmp2, fmt, ev->ap_copy); + tmp2 = bvprintf(fmt, ev->ap_copy); append1("%s", "%.*s", tmp2); free(tmp2); break; @@ -219,31 +217,27 @@ static void xbt_log_layout_format_doit(xbt_log_layout_t l, case 'c': /* category name; LOG4J compliant should accept a precision postfix to show the hierarchy */ if (precision == -1) { - p += - snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%s", - ev->cat->name); + p += snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%s", + ev->cat->name); check_overflow; } else { - p += - sprintf(p, "%.*s", - (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), - precision), ev->cat->name); + p += sprintf(p, "%.*s", + (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), + precision), ev->cat->name); check_overflow; precision = -1; } break; case 'p': /* priority name; LOG4J compliant */ if (precision == -1) { - p += - snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%s", - xbt_log_priority_names[ev->priority]); + p += snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%s", + xbt_log_priority_names[ev->priority]); check_overflow; } else { - p += - sprintf(p, "%.*s", - (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), - precision), - xbt_log_priority_names[ev->priority]); + p += sprintf(p, "%.*s", + (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), + precision), + xbt_log_priority_names[ev->priority]); check_overflow; precision = -1; } @@ -251,60 +245,52 @@ static void xbt_log_layout_format_doit(xbt_log_layout_t l, case 'h': /* host name; SimGrid extension */ if (precision == -1) { - p += - snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%s", - gras_os_myname()); + p += snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%s", + gras_os_myname()); check_overflow; } else { - p += - sprintf(p, "%.*s", - (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), - precision), gras_os_myname()); + p += sprintf(p, "%.*s", + (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), + precision), gras_os_myname()); check_overflow; precision = -1; } break; case 't': /* thread name; LOG4J compliant */ if (precision == -1) { - p += - snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%s", - xbt_thread_self_name()); + p += snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%s", + xbt_thread_self_name()); check_overflow; } else { - p += - sprintf(p, "%.*s", - (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), - precision), xbt_thread_self_name()); + p += sprintf(p, "%.*s", + (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), + precision), xbt_thread_self_name()); check_overflow; precision = -1; } break; case 'P': /* process name; SimGrid extension */ if (precision == -1) { - p += - snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%s", - xbt_procname()); + p += snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%s", + xbt_procname()); check_overflow; } else { - p += - sprintf(p, "%.*s", - (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), - precision), xbt_procname()); + p += sprintf(p, "%.*s", + (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), + precision), xbt_procname()); check_overflow; precision = -1; } break; case 'i': /* process PID name; SimGrid extension */ if (precision == -1) { - p += - snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%d", - (*xbt_getpid) ()); + p += snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%d", + (*xbt_getpid) ()); check_overflow; } else { - p += - sprintf(p, "%.*d", - (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), - precision), (*xbt_getpid) ()); + p += sprintf(p, "%.*d", + (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), + precision), (*xbt_getpid) ()); check_overflow; precision = -1; } @@ -312,61 +298,53 @@ static void xbt_log_layout_format_doit(xbt_log_layout_t l, case 'F': /* file name; LOG4J compliant */ if (precision == -1) { - p += - snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%s", - ev->fileName); + p += snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%s", + ev->fileName); check_overflow; } else { - p += - sprintf(p, "%.*s", - (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), - precision), ev->fileName); + p += sprintf(p, "%.*s", + (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), + precision), ev->fileName); check_overflow; precision = -1; } break; case 'l': /* location; LOG4J compliant */ if (precision == -1) { - p += - snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%s:%d", - ev->fileName, ev->lineNum); + p += snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%s:%d", + ev->fileName, ev->lineNum); check_overflow; } else { - p += - snprintf(p, - (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), - precision), "%s:%d", ev->fileName, - ev->lineNum); + p += snprintf(p, + (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), + precision), "%s:%d", ev->fileName, + ev->lineNum); check_overflow; precision = -1; } break; case 'L': /* line number; LOG4J compliant */ if (precision == -1) { - p += - snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%d", - ev->lineNum); + p += snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%d", + ev->lineNum); check_overflow; } else { - p += - sprintf(p, "%.*d", - (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), - precision), ev->lineNum); + p += sprintf(p, "%.*d", + (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), + precision), ev->lineNum); check_overflow; precision = -1; } break; case 'M': /* method (ie, function) name; LOG4J compliant */ if (precision == -1) { - p += - snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%s", - ev->functionName); + p += snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%s", + ev->functionName); check_overflow; } else { - p += - sprintf(p, "%.*s", - (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), - precision), ev->functionName); + p += sprintf(p, "%.*s", + (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), + precision), ev->functionName); check_overflow; precision = -1; } @@ -385,30 +363,27 @@ static void xbt_log_layout_format_doit(xbt_log_layout_t l, xbt_backtrace_current(&e); if (*q == 'B') { if (precision == -1) { - p += - snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%s", - e.bt_strings[2] + 8); + p += snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%s", + e.bt_strings[2] + 8); check_overflow; } else { - p += - sprintf(p, "%.*s", - (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), - precision), e.bt_strings[2] + 8); + p += sprintf(p, "%.*s", + (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), + precision), e.bt_strings[2] + 8); check_overflow; precision = -1; } } else { for (i = 2; i < e.used; i++) if (precision == -1) { - p += - snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%s\n", - e.bt_strings[i] + 8); + p += snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), + "%s\n", e.bt_strings[i] + 8); check_overflow; } else { - p += - sprintf(p, "%.*s\n", - (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), - precision), e.bt_strings[i] + 8); + p += sprintf(p, "%.*s\n", + (int) MIN(XBT_LOG_BUFF_SIZE - + (p - ev->buffer), precision), + e.bt_strings[i] + 8); check_overflow; precision = -1; } @@ -417,39 +392,35 @@ static void xbt_log_layout_format_doit(xbt_log_layout_t l, xbt_ex_free(e); } #else - p += - snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), - "(no backtrace on this arch)"); + p += snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), + "(no backtrace on this arch)"); check_overflow; #endif break; case 'd': /* date; LOG4J compliant */ if (precision == -1) { - p += - snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%f", - gras_os_time()); + p += snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%f", + gras_os_time()); check_overflow; } else { - p += - sprintf(p, "%.*f", - (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), - precision), gras_os_time()); + p += sprintf(p, "%.*f", + (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), + precision), gras_os_time()); check_overflow; precision = -1; } break; case 'r': /* application age; LOG4J compliant */ if (precision == -1) { - p += - snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%f", - gras_os_time() - format_begin_of_time); + p += snprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), "%f", + gras_os_time() - format_begin_of_time); check_overflow; } else { - p += - sprintf(p, "%.*f", - (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), - precision), gras_os_time() - format_begin_of_time); + p += sprintf(p, "%.*f", + (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), + precision), + gras_os_time() - format_begin_of_time); check_overflow; precision = -1; } @@ -457,15 +428,13 @@ static void xbt_log_layout_format_doit(xbt_log_layout_t l, case 'm': /* user-provided message; LOG4J compliant */ if (precision == -1) { - p += - vsnprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), msg_fmt, - ev->ap); + p += vsnprintf(p, XBT_LOG_BUFF_SIZE - (p - ev->buffer), msg_fmt, + ev->ap); check_overflow; } else { - p += - vsnprintf(p, - (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), - precision), msg_fmt, ev->ap); + p += vsnprintf(p, + (int) MIN(XBT_LOG_BUFF_SIZE - (p - ev->buffer), + precision), msg_fmt, ev->ap); check_overflow; precision = -1; } @@ -499,6 +468,6 @@ xbt_log_layout_t xbt_log_layout_format_new(char *arg) if (format_begin_of_time < 0) format_begin_of_time = gras_os_time(); - + return res; }