From 5bdbaf97ae47eb0f9aed3a6f3dc071843afb52da Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Sat, 22 Mar 1997 23:46:45 +0000 Subject: [PATCH] (readline): strdup data before returning it. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@1470 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/editline/edit_compat.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/editline/edit_compat.c b/lib/editline/edit_compat.c index 8cb4cb9f7..3b6ef048c 100644 --- a/lib/editline/edit_compat.c +++ b/lib/editline/edit_compat.c @@ -65,6 +65,7 @@ readline(const char* prompt) { static EditLine *e; int count; + char *ret; if(e == NULL){ e = el_init("", stdin, stdout); el_set(e, EL_PROMPT, ret_prompt); @@ -74,7 +75,13 @@ readline(const char* prompt) el_set(e, EL_EDITOR, "emacs"); /* XXX? */ } pr = prompt ? prompt : ""; - return (char*)el_gets(e, &count); + ret = (char*)el_gets(e, &count); + if (ret) { + if (ret[strlen(ret) - 1] == '\n') + ret[strlen(ret) - 1] = '\0'; + return strdup(ret); + } else + return ret; } void