summaryrefslogtreecommitdiff
path: root/libbacktrace/internal.h
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2018-11-30 08:43:50 +0000
committerTom de Vries <vries@gcc.gnu.org>2018-11-30 08:43:50 +0000
commit518a3a2106e4e8172a1c7628b79b63635857fec3 (patch)
tree5127e6a5ff6c59421ad748b7e4dfb68d21a122d8 /libbacktrace/internal.h
parent507bdfc5f6862052de0ff6d5043a24df380d4d45 (diff)
[libbacktrace] Factor out backtrace_vector_free
Factor out new function backtrace_vector_free. Bootstrapped and reg-tested on x86_64. 2018-11-30 Tom de Vries <tdevries@suse.de> * internal.h (backtrace_vector_free): New static inline fuction, factored out of ... * dwarf.c (read_line_info): ... here. From-SVN: r266658
Diffstat (limited to 'libbacktrace/internal.h')
-rw-r--r--libbacktrace/internal.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/libbacktrace/internal.h b/libbacktrace/internal.h
index bff8ed470e4..548f9d70905 100644
--- a/libbacktrace/internal.h
+++ b/libbacktrace/internal.h
@@ -257,6 +257,18 @@ extern int backtrace_vector_release (struct backtrace_state *state,
backtrace_error_callback error_callback,
void *data);
+/* Free the space managed by VEC. This will reset VEC. */
+
+static inline void
+backtrace_vector_free (struct backtrace_state *state,
+ struct backtrace_vector *vec,
+ backtrace_error_callback error_callback, void *data)
+{
+ vec->alc += vec->size;
+ vec->size = 0;
+ backtrace_vector_release (state, vec, error_callback, data);
+}
+
/* Read initial debug data from a descriptor, and set the
fileline_data, syminfo_fn, and syminfo_data fields of STATE.
Return the fileln_fn field in *FILELN_FN--this is done this way so