Restore %s format support from previous version

This commit is contained in:
Andrey A. Chernov 1995-08-07 23:35:41 +00:00
parent 656dcd4316
commit 5ad178d854
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=9988

View File

@ -17,7 +17,7 @@
#ifdef LIBC_RCS
static const char rcsid[] =
"$Id: strftime.c,v 1.3 1995/08/04 18:43:01 wollman Exp $";
"$Id: strftime.c,v 1.4 1995/08/06 11:48:16 ache Exp $";
#endif
#ifndef lint
@ -113,6 +113,7 @@ static const struct lc_time_T C_time_locale = {
static char * _add P((const char *, char *, const char *));
static char * _conv P((int, const char *, char *, const char *));
static char * _fmt P((const char *, const struct tm *, char *, const char *));
static char * _secs P((const struct tm *, char *, const char *));
size_t strftime P((char *, size_t, const char *, const struct tm *));
@ -277,6 +278,9 @@ _fmt(format, t, pt, ptlim)
case 'S':
pt = _conv(t->tm_sec, "%02d", pt, ptlim);
continue;
case 's':
pt = _secs(t, pt, ptlim);
continue;
case 'T':
pt = _fmt("%H:%M:%S", t, pt, ptlim);
continue;
@ -433,6 +437,23 @@ _conv(n, format, pt, ptlim)
return _add(buf, pt, ptlim);
}
static char *
_secs(t, pt, ptlim)
const struct tm *t;
char *pt;
const char *ptlim;
{
char buf[INT_STRLEN_MAXIMUM(int) + 1];
register time_t s;
struct tm tmp;
/* Make a copy, mktime(3) modifies the tm struct. */
tmp = *t;
s = mktime(&tmp);
(void) sprintf(buf, "%ld", s);
return _add(buf, pt, ptlim);
}
static char *
_add(str, pt, ptlim)
const char *str;