1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-10-06 09:01:13 +02:00

* 19869: Src/prompt.c, Src/utils.c: avoid segfault when

prompt-expanding '%D{%p}' or '%D{%P}' under locales with null
        strings for am_pm.
This commit is contained in:
Clint Adams 2004-05-04 04:17:26 +00:00
parent 885509c023
commit c98b9dc800
3 changed files with 11 additions and 2 deletions

View file

@ -1,3 +1,9 @@
2004-05-04 Clint Adams <clint@zsh.org>
* 19869: Src/prompt.c, Src/utils.c: avoid segfault when
prompt-expanding '%D{%p}' or '%D{%P}' under locales with null
strings for am_pm.
2004-05-02 Peter Stephenson <pws@pwstephenson.fsnet.co.uk>
* 19858: Doc/Zsh/options.yo, Src/jobs.c, Src/options.c,

View file

@ -528,7 +528,9 @@ putpromptchar(int doprint, int endchar)
tm = localtime(&timet);
for(t0=80; ; t0*=2) {
addbufspc(t0);
if (ztrftime(bp, t0, tmfmt, tm))
if (ztrftime(bp, t0, tmfmt, tm) ||
!strcmp("%P", tmfmt) ||
!strcmp("%p", tmfmt))
break;
}
bp += strlen(bp);

View file

@ -1831,7 +1831,8 @@ ztrftime(char *buf, int bufsize, char *fmt, struct tm *tm)
*/
*buf = '\0';
tmp[1] = fmt[-1];
if (!strftime(buf, bufsize + 2, tmp, tm))
if (!strftime(buf, bufsize + 2, tmp, tm) &&
tmp[1]!='p' && tmp[1]!='P')
return 0;
decr = strlen(buf);
buf += decr;