summaryrefslogtreecommitdiffstats
path: root/Src
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2007-12-09 14:58:36 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2007-12-09 14:58:36 +0000
commit6e58a1df8faab311a0479ef630b891ef50fd3f14 (patch)
treed5c9e2b34b23ea10d6bba734c6332f6ee5bd5a89 /Src
parent24188: completion for GNU id. (diff)
downloadzsh-6e58a1df8faab311a0479ef630b891ef50fd3f14.tar
zsh-6e58a1df8faab311a0479ef630b891ef50fd3f14.tar.gz
zsh-6e58a1df8faab311a0479ef630b891ef50fd3f14.tar.bz2
zsh-6e58a1df8faab311a0479ef630b891ef50fd3f14.tar.lz
zsh-6e58a1df8faab311a0479ef630b891ef50fd3f14.tar.xz
zsh-6e58a1df8faab311a0479ef630b891ef50fd3f14.tar.zst
zsh-6e58a1df8faab311a0479ef630b891ef50fd3f14.zip
24197: interface to ztrftime() for insufficient memory was broken
Diffstat (limited to 'Src')
-rw-r--r--Src/Modules/datetime.c4
-rw-r--r--Src/utils.c8
2 files changed, 6 insertions, 6 deletions
diff --git a/Src/Modules/datetime.c b/Src/Modules/datetime.c
index 169369d5f..328870eba 100644
--- a/Src/Modules/datetime.c
+++ b/Src/Modules/datetime.c
@@ -1,5 +1,5 @@
/*
- * datetime.c - parameter interface to langinfo via curses
+ * datetime.c - parameter and command interface to date and time utilities
*
* This file is part of zsh, the Z shell.
*
@@ -121,7 +121,7 @@ bin_strftime(char *nam, char **argv, Options ops, UNUSED(int func))
}
t = localtime(&secs);
- bufsize = strlen(argv[0]) * 2;
+ bufsize = strlen(argv[0]) * 8;
buffer = zalloc(bufsize);
for (x=0; x < 4; x++) {
diff --git a/Src/utils.c b/Src/utils.c
index d776d7cb3..8a58c5ea8 100644
--- a/Src/utils.c
+++ b/Src/utils.c
@@ -2389,7 +2389,7 @@ ztrftime(char *buf, int bufsize, char *fmt, struct tm *tm)
* Fix up some longer cases specially when we get to them.
*/
if (ztrftimebuf(&bufsize, 2))
- return 0;
+ return -1;
switch (*fmt++) {
case 'd':
*buf++ = '0' + tm->tm_mday / 10;
@@ -2447,12 +2447,12 @@ ztrftime(char *buf, int bufsize, char *fmt, struct tm *tm)
#ifndef HAVE_STRFTIME
case 'a':
if (ztrftimebuf(&bufsize, strlen(astr[tm->tm_wday]) - 2))
- return 0;
+ return -1;
strucpy(&buf, astr[tm->tm_wday]);
break;
case 'b':
if (ztrftimebuf(&bufsize, strlen(estr[tm->tm_mon]) - 2))
- return 0;
+ return -1;
strucpy(&buf, estr[tm->tm_mon]);
break;
case 'p':
@@ -2487,7 +2487,7 @@ ztrftime(char *buf, int bufsize, char *fmt, struct tm *tm)
}
} else {
if (ztrftimebuf(&bufsize, 1))
- return 0;
+ return -1;
*buf++ = *fmt++;
}
*buf = '\0';