aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xC.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/xC.c b/xC.c
index fb3cf99..d204ff1 100644
--- a/xC.c
+++ b/xC.c
@@ -653,10 +653,15 @@ input_rl_buffer_destroy (void *input, input_buffer_t input_buffer)
HISTORY_STATE *state = history_get_history_state ();
history_set_history_state (buffer->history);
+
+ // TODO: Actually figure out why these cause crashes later.
+#if RL_READLINE_VERSION <= 0x0802
rl_clear_history ();
// rl_clear_history just removes history entries,
// we have to reclaim memory for their actual container ourselves
free (buffer->history->entries);
+#endif
+
free (buffer->history);
buffer->history = NULL;