54 lines
1.9 KiB
Diff
54 lines
1.9 KiB
Diff
From f3768fb0227c714d7ed0613a28142613aa4a9c6b Mon Sep 17 00:00:00 2001
|
||
From: Yuan Liao <liaoyuan@gmail.com>
|
||
Date: Mon, 29 Apr 2024 13:40:41 -0400
|
||
Subject: [PATCH] backtrace: Define static functions only if `WITH_BACKTRACE`
|
||
MIME-Version: 1.0
|
||
Content-Type: text/plain; charset=UTF-8
|
||
Content-Transfer-Encoding: 8bit
|
||
|
||
The static functions are internal to file exm-backtrace.c and are only
|
||
used to facilitate backtrace collection. In build configurations with
|
||
backtraces disabled ('meson setup -Dbacktrace=false'),
|
||
exm_backtrace_print() will not call the static functions, so they are
|
||
unused and thus need not be defined.
|
||
|
||
Previously, due to how the preprocessor macros were arranged, the static
|
||
variables in this file would not be defined when backtraces are
|
||
disabled; if any static functions use them, then builds with backtraces
|
||
disabled would fail due to a compiler error like:
|
||
|
||
../extension-manager-0.5.1/src/exm-backtrace.c: In function ‘exm_backtrace_full_cb’:
|
||
../extension-manager-0.5.1/src/exm-backtrace.c:58:9: error: ‘frames_omitted_count’ undeclared (first use in this function)
|
||
58 | frames_omitted_count++;
|
||
|
|
||
|
||
This commit fixes such errors when backtraces are disabled.
|
||
|
||
Fixes: dcc312e (Make libbacktrace an optional dependency, 2023-06-03)
|
||
Fixes: d63d301 (backtrace: Collate 'null' messages, 2024-04-01)
|
||
Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
|
||
---
|
||
src/exm-backtrace.c | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
diff --git a/src/exm-backtrace.c b/src/exm-backtrace.c
|
||
index b6c3ae35..e7a449a8 100644
|
||
--- a/src/exm-backtrace.c
|
||
+++ b/src/exm-backtrace.c
|
||
@@ -33,7 +33,6 @@
|
||
#if WITH_BACKTRACE
|
||
static struct backtrace_state *state = NULL;
|
||
static int frames_omitted_count = 0;
|
||
-#endif
|
||
|
||
static void
|
||
exm_backtrace_error_cb (void *data,
|
||
@@ -71,6 +70,7 @@ exm_backtrace_full_cb (GString *string_builder,
|
||
|
||
return 0;
|
||
}
|
||
+#endif
|
||
|
||
void
|
||
exm_backtrace_init (char *filename)
|