- case 't': /* process name; LOG4J compliant (thread name) */
- if (precision == -1)
- p += sprintf(p, "%s", xbt_procname());
- else {
- p += sprintf(p, "%.*s", precision,xbt_procname());
+ case 't': /* thread name; LOG4J compliant */
+ if (precision == -1) {
+ 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());
+ 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());
+ check_overflow;
+ } else {
+ p += sprintf(p, "%.*s", (int)MIN(XBT_LOG_BUFF_SIZE-(p-ev->buffer),precision),xbt_procname());
+ check_overflow;