From 6567e77a4e474d9fcc90aeaf645598a79462f3c1 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Mon, 22 Oct 2007 10:22:16 +0000 Subject: 24007: prompt allocation and use of "shout" --- ChangeLog | 4 ++++ Src/prompt.c | 4 ++-- Src/utils.c | 6 +++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 23580ff0f..653eea3c1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2007-10-22 Peter Stephenson + * 24007: Src/prompt.c, Src/utils.c: mildly suspicious things + found when looking at crash: prompt allocation length and use + of "shout". + * 24006: Src/glob.c: (F) glob qualifier needs to unmetafy. 2007-10-21 Clint Adams diff --git a/Src/prompt.c b/Src/prompt.c index b4b55a0ea..57af41b03 100644 --- a/Src/prompt.c +++ b/Src/prompt.c @@ -181,10 +181,10 @@ promptexpand(char *s, int ns, char *rs, char *Rs) bp1 = NULL; truncwidth = 0; putpromptchar(1, '\0'); - addbufspc(1); + addbufspc(2); if(dontcount) *bp++ = Outpar; - *bp = 0; + *bp = '\0'; if (!ns) { /* If zero, Inpar, Outpar and Nularg should be removed. */ for (bp = buf; *bp; ) { diff --git a/Src/utils.c b/Src/utils.c index bc04c3ec6..d01ec8634 100644 --- a/Src/utils.c +++ b/Src/utils.c @@ -1160,7 +1160,7 @@ preprompt(void) int period = getiparam("PERIOD"); int mailcheck = getiparam("MAILCHECK"); - if (isset(PROMPTSP) && isset(PROMPTCR) && !use_exit_printed) { + if (isset(PROMPTSP) && isset(PROMPTCR) && !use_exit_printed && shout) { /* The PROMPT_SP heuristic will move the prompt down to a new line * if there was any dangling output on the line (assuming the terminal * has automatic margins, but we try even if hasam isn't set). @@ -1284,7 +1284,7 @@ checkmailpath(char **s) checkmailpath(arr); popheap(); } - } else { + } else if (shout) { if (st.st_size && st.st_atime <= st.st_mtime && st.st_mtime > lastmailcheck) { if (!u) { @@ -2302,7 +2302,7 @@ spckword(char **s, int hist, int cmd, int ask) if (ask) { if (noquery(0)) { x = 'n'; - } else { + } else if (shout) { char *pptbuf; pptbuf = promptexpand(sprompt, 0, best, guess); zputs(pptbuf, shout); -- cgit 1.4.1