Skip to content

Commit 6e8707f

Browse files
authored
Fix fallback logic for name() in libbacktrace backend. Do not use backtrace_syminfo if filename or function name are available (#234)
1 parent 4c7eaab commit 6e8707f

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

‎include/boost/stacktrace/detail/libbacktrace_impls.hpp‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,17 @@ inline void libbacktrace_syminfo_callback(void *data, std::uintptr_t pc, const c
4949

5050
inline int libbacktrace_full_callback(void *data, std::uintptr_t /*pc*/, const char *filename, int lineno, const char *function) {
5151
pc_data& d = *static_cast<pc_data*>(data);
52+
int return_value = 0;
5253
if (d.filename && filename) {
5354
*d.filename = filename;
55+
return_value = 1;
5456
}
5557
if (d.function && function) {
5658
*d.function = function;
59+
return_value = 1;
5760
}
5861
d.line = static_cast<std::size_t>(lineno);
59-
return 0;
62+
return return_value;
6063
}
6164

6265
inline void libbacktrace_error_callback(void* /*data*/, const char* /*msg*/, int /*errnum*/) noexcept {

0 commit comments

Comments
 (0)