(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:
@@ -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
|
||||||
|
Reference in New Issue
Block a user