Fix: common: va_list type is implementation dependant
authorFrancis Deslauriers <francis.deslauriers@efficios.com>
Fri, 3 May 2019 22:26:57 +0000 (18:26 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 3 May 2019 22:49:53 +0000 (18:49 -0400)
Issue
=====
BT_ASSERT(*args) happens to work on some library implementations because
the va_list type happens to be a pointer but this is not true with all
libraries. For example, compiling on arm64 results in the following
error:
  In file included from common.c:34:0:
  common.c: In function ‘bt_common_custom_vsnprintf’:
  ../include/babeltrace/assert-internal.h:42:7: error: wrong type
  argument to unary exclamation mark
     if (!(_cond)) {                                                \
         ^
  common.c:1524:2: note: in expansion of macro ‘BT_ASSERT’
    BT_ASSERT(*args);
    ^~~~~~~~~

Solution
========
Remove that BT_ASSERT() call as its intent is unclear anyway.

Drawback
========
None.

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
Change-Id: Iada5189ef4580e48caefed12835bfab7c23eaf73
Reviewed-on: https://review.lttng.org/c/babeltrace/+/1253
CI-Build: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Reviewed-by: Michael Jeanson <mjeanson@efficios.com>
Reviewed-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
common/common.c

index d261372d68e2c3d01ac267fa9f09cedfd74ecb51..de98e34cf7636f32a2df43c3afb41abce510c98b 100644 (file)
@@ -1521,7 +1521,6 @@ void bt_common_custom_vsnprintf(char *buf, size_t buf_size,
 
        BT_ASSERT(buf);
        BT_ASSERT(fmt);
-       BT_ASSERT(*args);
 
        while (*fmt_ch != '\0') {
                switch (*fmt_ch) {
This page took 0.025913 seconds and 4 git commands to generate.