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

24007: prompt allocation and use of "shout"

This commit is contained in:
Peter Stephenson 2007-10-22 10:22:16 +00:00
parent 756cfc08e2
commit 6567e77a4e
3 changed files with 9 additions and 5 deletions

View file

@ -1,5 +1,9 @@
2007-10-22 Peter Stephenson <pws@csr.com>
* 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 <clint@zsh.org>

View file

@ -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; ) {

View file

@ -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);