1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-10-28 17:10:59 +01:00

20149: improve prompt-reset code

20150: commit ancient memory leak fix(?) in completion
This commit is contained in:
Peter Stephenson 2004-07-11 22:53:01 +00:00
parent f63b677f53
commit 86ae90bc1c
8 changed files with 40 additions and 24 deletions

View file

@ -222,21 +222,21 @@ ingetc(void)
static int
inputline(void)
{
char *ingetcline, *ingetcpmptl = NULL, *ingetcpmptr = NULL;
char *ingetcline, **ingetcpmptl = NULL, **ingetcpmptr = NULL;
int context = ZLCON_LINE_START;
/* If reading code interactively, work out the prompts. */
if (interact && isset(SHINSTDIN)) {
if (!isfirstln) {
ingetcpmptl = prompt2;
ingetcpmptl = &prompt2;
if (rprompt2)
ingetcpmptr = rprompt2;
ingetcpmptr = &rprompt2;
context = ZLCON_LINE_CONT;
}
else {
ingetcpmptl = prompt;
ingetcpmptl = &prompt;
if (rprompt)
ingetcpmptr = rprompt;
ingetcpmptr = &rprompt;
}
}
if (!(interact && isset(SHINSTDIN) && SHTTY != -1 && isset(USEZLE))) {
@ -255,7 +255,8 @@ inputline(void)
*/
char *pptbuf;
int pptlen;
pptbuf = unmetafy(promptexpand(ingetcpmptl, 0, NULL, NULL), &pptlen);
pptbuf = unmetafy(promptexpand(ingetcpmptl ? *ingetcpmptl : NULL,
0, NULL, NULL), &pptlen);
write(2, (WRITE_ARG_2_T)pptbuf, pptlen);
free(pptbuf);
}