Mercurial > hg > octave-lojdl
changeset 2774:5ea69876b258
[project @ 1997-03-01 07:29:02 by jwe]
author | jwe |
---|---|
date | Sat, 01 Mar 1997 07:29:07 +0000 |
parents | c8505ac0327c |
children | c80d72d52385 |
files | src/ChangeLog src/time.cc |
diffstat | 2 files changed, 17 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +Sat Mar 1 01:17:21 1997 John W. Eaton <jwe@bevo.che.wisc.edu> + + * strftime.c: Update to current version from FSF. + * time.cc (Fstrftime): Call strftime with buf = 0 to get buffer + size, then call again to actually format the time struct. + Fri Feb 28 01:49:48 1997 John W. Eaton <jwe@bevo.che.wisc.edu> Implement switch statement:
--- a/src/time.cc +++ b/src/time.cc @@ -26,6 +26,8 @@ #include <string> +#include<iostream.h> + #include "defun-dld.h" #include "error.h" #include "help.h" @@ -247,6 +249,7 @@ %T time, 24-hour (hh:mm:ss)\n\ %X locale's time representation (%H:%M:%S)\n\ %Z time zone (EDT), or nothing if no time zone is determinable\n\ + %z offset from GMT\n\ \n\ Date fields:\n\ \n\ @@ -283,15 +286,15 @@ if (! error_state) { - int bufsize = 1024; - char *buf = new char [bufsize]; + const char *fmt_str = fmt.c_str (); + + size_t bufsize = strftime (0, (size_t) UINT_MAX, fmt_str, tm); - while (! strftime (buf, bufsize, fmt.c_str (), tm)) - { - delete [] buf; - bufsize *= 2; - buf = new char [bufsize]; - } + char *buf = new char [++bufsize]; + + buf[0] = '\0'; + + strftime (buf, bufsize, fmt_str, tm); retval = buf;