(readline): strdup data before returning it.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@1470 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1997-03-22 23:46:45 +00:00
parent 77ec5783ea
commit 5bdbaf97ae

View File

@@ -65,6 +65,7 @@ readline(const char* prompt)
{ {
static EditLine *e; static EditLine *e;
int count; int count;
char *ret;
if(e == NULL){ if(e == NULL){
e = el_init("", stdin, stdout); e = el_init("", stdin, stdout);
el_set(e, EL_PROMPT, ret_prompt); el_set(e, EL_PROMPT, ret_prompt);
@@ -74,7 +75,13 @@ readline(const char* prompt)
el_set(e, EL_EDITOR, "emacs"); /* XXX? */ el_set(e, EL_EDITOR, "emacs"); /* XXX? */
} }
pr = prompt ? prompt : ""; 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 void