diff --git a/include/boost/stacktrace/detail/libbacktrace_impls.hpp b/include/boost/stacktrace/detail/libbacktrace_impls.hpp index 616bd82..28930ae 100644 --- a/include/boost/stacktrace/detail/libbacktrace_impls.hpp +++ b/include/boost/stacktrace/detail/libbacktrace_impls.hpp @@ -49,14 +49,20 @@ inline void libbacktrace_syminfo_callback(void *data, uintptr_t pc, const char * inline int libbacktrace_full_callback(void *data, uintptr_t /*pc*/, const char *filename, int lineno, const char *function) { pc_data& d = *static_cast(data); + int return_value = 0; if (d.filename && filename) { *d.filename = filename; + return_value = 1; } if (d.function && function) { *d.function = function; + return_value = 1; } d.line = static_cast(lineno); - return 0; + if (d.line) { + return_value = 1; + } + return return_value; } inline void libbacktrace_error_callback(void* /*data*/, const char* /*msg*/, int /*errnum*/) noexcept {