[lttng-dev] [PATCH v3 lttng-ust 2/2] Introduce vtracelog
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Wed Feb 26 16:15:37 EST 2020
----- On Feb 24, 2020, at 12:34 PM, Maxime Roussin-Belanger maxime.roussinbelanger at gmail.com wrote:
[...]
> +int main(int argc, char **argv)
> +{
> + int i;
> + int delay = 0;
> +
> + if (argc == 2)
Check for argc > 2 as well here.
[...]
> diff --git a/liblttng-ust/tracelog.c b/liblttng-ust/tracelog.c
> index 65fc87ed..17546605 100644
> --- a/liblttng-ust/tracelog.c
> +++ b/liblttng-ust/tracelog.c
> @@ -29,27 +29,35 @@
> #define TRACEPOINT_DEFINE
> #include "lttng-ust-tracelog-provider.h"
>
> +
> #define TRACELOG_CB(level) \
> - void _lttng_ust_tracelog_##level(const char *file, \
> + void _lttng_ust_vtracelog_##level(const char *file, \
> int line, const char *func, \
> - const char *fmt, ...) \
> + const char *fmt, va_list ap) \
> { \
> - va_list ap; \
> - char *msg; \
> - int len; \
> + char *msg; \
> + const int len = vasprintf(&msg, fmt, ap); \
> \
> - va_start(ap, fmt); \
> - len = vasprintf(&msg, fmt, ap); \
> /* len does not include the final \0 */ \
> if (len < 0) \
> goto end; \
> __tracepoint_cb_lttng_ust_tracelog___##level(file, \
> line, func, msg, len, \
> LTTNG_UST_CALLER_IP()); \
Same as tracef: LTTNG_UST_CALLER_IP() does not have the expected behavior
for _lttng_ust_tracelog_##level anymore. And I would want to ensure we don't
add an additional call indirection in the generated text.
> free(msg); \
> end: \
> + return; \
> + } \
> + \
> + void _lttng_ust_tracelog_##level(const char *file, \
> + int line, const char *func, \
> + const char *fmt, ...) \
> + { \
> + va_list ap; \
> + va_start(ap, fmt); \
> + _lttng_ust_vtracelog_##level(file, line, func, fmt, ap); \
> va_end(ap); \
> - }
> + } \
I suspect you will want to remove the "\" on the last line here.
Thanks,
Mathieu
>
> TRACELOG_CB(TRACE_EMERG)
> TRACELOG_CB(TRACE_ALERT)
> --
> 2.20.1
>
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list