X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Flib%2Flib-logging.c;h=836ee9ad02ac2d5d8f9318f3a4c8de4ae7d62454;hb=4fa90f321f51af8f5bfc48eee1435e2f41d853b3;hp=dcfee70ff92dcf0daa3af70076e2524281afb73a;hpb=188edac1113dbbb29030681dbde2de0ada742499;p=babeltrace.git diff --git a/src/lib/lib-logging.c b/src/lib/lib-logging.c index dcfee70f..836ee9ad 100644 --- a/src/lib/lib-logging.c +++ b/src/lib/lib-logging.c @@ -32,10 +32,8 @@ #include #include #include "common/common.h" -#include -#include -#include -#include +#include "common/uuid.h" +#include #include "logging.h" #include "assert-pre.h" @@ -103,11 +101,17 @@ static __thread char lib_logging_buf[LIB_LOGGING_BUF_SIZE]; #define PRFIELD_GSTRING(_expr) PRFIELD((_expr) ? (_expr)->str : NULL) -#define TMP_PREFIX_LEN 64 +#define TMP_PREFIX_LEN 128 #define SET_TMP_PREFIX(_prefix2) \ do { \ - snprintf(tmp_prefix, TMP_PREFIX_LEN - 1, "%s%s", \ - prefix, (_prefix2)); \ + int snprintf_ret = \ + snprintf(tmp_prefix, TMP_PREFIX_LEN - 1, "%s%s", \ + prefix, (_prefix2)); \ + \ + if (snprintf_ret < 0 || snprintf_ret >= TMP_PREFIX_LEN - 1) { \ + abort(); \ + } \ + \ tmp_prefix[TMP_PREFIX_LEN - 1] = '\0'; \ } while (0) @@ -134,23 +138,7 @@ static inline void format_object(char **buf_ch, bool extended, static inline void format_uuid(char **buf_ch, bt_uuid uuid) { - BUF_APPEND("\"%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x\"", - (unsigned int) uuid[0], - (unsigned int) uuid[1], - (unsigned int) uuid[2], - (unsigned int) uuid[3], - (unsigned int) uuid[4], - (unsigned int) uuid[5], - (unsigned int) uuid[6], - (unsigned int) uuid[7], - (unsigned int) uuid[8], - (unsigned int) uuid[9], - (unsigned int) uuid[10], - (unsigned int) uuid[11], - (unsigned int) uuid[12], - (unsigned int) uuid[13], - (unsigned int) uuid[14], - (unsigned int) uuid[15]); + BUF_APPEND("\"" BT_UUID_FMT "\"", BT_UUID_FMT_VALUES(uuid)); } static inline void format_object_pool(char **buf_ch, bool extended, @@ -533,14 +521,16 @@ static inline void format_stream_class(char **buf_ch, bool extended, } BUF_APPEND(", %sassigns-auto-ec-id=%d, %sassigns-auto-stream-id=%d, " - "%spackets-have-default-beginning-cs=%d, " - "%spackets-have-default-end-cs=%d, " + "%ssupports-packets=%d, " + "%spackets-have-begin-default-cs=%d, " + "%spackets-have-end-default-cs=%d, " "%ssupports-discarded-events=%d, " "%sdiscarded-events-have-default-cs=%d, " "%ssupports-discarded-packets=%d, " "%sdiscarded-packets-have-default-cs=%d", PRFIELD(stream_class->assigns_automatic_event_class_id), PRFIELD(stream_class->assigns_automatic_stream_id), + PRFIELD(stream_class->supports_packets), PRFIELD(stream_class->packets_have_beginning_default_clock_snapshot), PRFIELD(stream_class->packets_have_end_default_clock_snapshot), PRFIELD(stream_class->supports_discarded_events), @@ -689,8 +679,6 @@ static inline void format_packet(char **buf_ch, bool extended, static inline void format_event(char **buf_ch, bool extended, const char *prefix, const struct bt_event *event) { - const struct bt_packet *packet; - const struct bt_stream *stream; const struct bt_trace_class *trace_class; const struct bt_stream_class *stream_class; char tmp_prefix[TMP_PREFIX_LEN]; @@ -733,22 +721,17 @@ static inline void format_event(char **buf_ch, bool extended, } } - packet = bt_event_borrow_packet_const(event); - if (!packet) { - return; + if (event->stream) { + BUF_APPEND(", %sstream-addr=%p", PRFIELD(event->stream)); + SET_TMP_PREFIX("stream-"); + format_stream(buf_ch, false, tmp_prefix, event->stream); } - BUF_APPEND(", %spacket-addr=%p", PRFIELD(packet)); - SET_TMP_PREFIX("packet-"); - format_packet(buf_ch, false, tmp_prefix, packet); - stream = bt_packet_borrow_stream_const(packet); - if (!stream) { - return; + if (event->packet) { + BUF_APPEND(", %spacket-addr=%p", PRFIELD(event->packet)); + SET_TMP_PREFIX("packet-"); + format_packet(buf_ch, false, tmp_prefix, event->packet); } - - BUF_APPEND(", %sstream-addr=%p", PRFIELD(stream)); - SET_TMP_PREFIX("stream-"); - format_stream(buf_ch, false, tmp_prefix, stream); } static inline void format_clock_class(char **buf_ch, bool extended, @@ -968,13 +951,13 @@ static inline void format_message(char **buf_ch, bool extended, } if (msg_disc_items->default_begin_cs) { - SET_TMP_PREFIX("default-begin-cs-"); + SET_TMP_PREFIX("begin-default-cs-"); format_clock_snapshot(buf_ch, true, tmp_prefix, msg_disc_items->default_begin_cs); } if (msg_disc_items->default_end_cs) { - SET_TMP_PREFIX("default-end-cs-"); + SET_TMP_PREFIX("end-default-cs-"); format_clock_snapshot(buf_ch, true, tmp_prefix, msg_disc_items->default_end_cs); }