diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2003-11-14 17:30:07 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2003-11-14 17:30:07 +0000 |
commit | 991c83ab343917b904ed7fd47a39e8517e15dcd1 (patch) | |
tree | 06dbb4726cfe75ef04878b1145de32c616f2aa84 /Src/prompt.c | |
parent | f15627d17b8bbf8c6c3623844be509b544d8a9f6 (diff) | |
download | zsh-991c83ab343917b904ed7fd47a39e8517e15dcd1.tar.gz zsh-991c83ab343917b904ed7fd47a39e8517e15dcd1.tar.xz zsh-991c83ab343917b904ed7fd47a39e8517e15dcd1.zip |
19105 shout if interactive without terminal.
19167: BRACE_CCL range with NULL at start. 19168: Sizes using ztrftime were inconsistent. Ports from main line.
Diffstat (limited to 'Src/prompt.c')
-rw-r--r-- | Src/prompt.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/Src/prompt.c b/Src/prompt.c index 43dc12bee..7937bf520 100644 --- a/Src/prompt.c +++ b/Src/prompt.c @@ -479,18 +479,23 @@ putpromptchar(int doprint, int endchar) tmfmt = "%m/%d/%y"; break; case 'D': - if (fm[1] == '{') /*}*/ { + if (fm[1] == '{' /*}*/) { for (ss = fm + 2; *ss && *ss != /*{*/ '}'; ss++) if(*ss == '\\' && ss[1]) ss++; dd = tmfmt = tmbuf = zalloc(ss - fm); - for (ss = fm + 2; *ss && *ss != /*{*/ '}'; ss++) { + for (ss = fm + 2; *ss && *ss != /*{*/ '}'; + ss++) { if(*ss == '\\' && ss[1]) ss++; *dd++ = *ss; } *dd = 0; fm = ss - !*ss; + if (!*tmfmt) { + free(tmbuf); + continue; + } } else tmfmt = "%y-%m-%d"; break; @@ -502,7 +507,7 @@ putpromptchar(int doprint, int endchar) tm = localtime(&timet); for(t0=80; ; t0*=2) { addbufspc(t0); - if(ztrftime(bp, t0, tmfmt, tm) != t0) + if (ztrftime(bp, t0, tmfmt, tm)) break; } bp += strlen(bp); |