diff options
author | ache <ache@FreeBSD.org> | 1999-11-30 19:24:07 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1999-11-30 19:24:07 +0000 |
commit | 220fa3568085fd0ad052a65bf3f7f6065248e490 (patch) | |
tree | 27b3b9d8ce2ca7a51c9f4d37493d0eb5c0e61589 /lib/libc/stdtime/strftime.c | |
parent | 764544f79db5c70e43cf95469521d403163cab31 (diff) | |
download | FreeBSD-src-220fa3568085fd0ad052a65bf3f7f6065248e490.zip FreeBSD-src-220fa3568085fd0ad052a65bf3f7f6065248e490.tar.gz |
%Ex -> %Ef to not conflict with POSIX
Add %EF (long months name / day order)
Check that O and E not intermixed
Add missing POSIX extension to example
Diffstat (limited to 'lib/libc/stdtime/strftime.c')
-rw-r--r-- | lib/libc/stdtime/strftime.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/lib/libc/stdtime/strftime.c b/lib/libc/stdtime/strftime.c index aa38473..9aa891f 100644 --- a/lib/libc/stdtime/strftime.c +++ b/lib/libc/stdtime/strftime.c @@ -129,6 +129,8 @@ label: pt = _conv(t->tm_mday, "%02d", pt, ptlim); continue; case 'E': + if (Ealternative || Oalternative) + break; Ealternative++; goto label; case 'O': @@ -136,18 +138,33 @@ label: ** POSIX locale extensions, a la ** Arnold Robbins' strftime version 3.0. ** The sequences - ** %Ec %EC %Ex %Ey %EY + ** %Ec %EC %Ex %EX %Ey %EY ** %Od %oe %OH %OI %Om %OM ** %OS %Ou %OU %OV %Ow %OW %Oy ** are supposed to provide alternate ** representations. ** (ado, 5/24/93) + ** + ** FreeBSD extensions + ** %OB %Ef %EF */ + if (Ealternative || Oalternative) + break; Oalternative++; goto label; case 'e': pt = _conv(t->tm_mday, "%2d", pt, ptlim); continue; + case 'f': + if (!Ealternative) + break; + pt = _fmt(Locale->Ef_fmt, t, pt, ptlim); + continue; + case 'F': + if (!Ealternative) + break; + pt = _fmt(Locale->EF_fmt, t, pt, ptlim); + continue; case 'H': pt = _conv(t->tm_hour, "%02d", pt, ptlim); continue; @@ -361,7 +378,7 @@ label: pt = _fmt(Locale->X_fmt, t, pt, ptlim); continue; case 'x': - pt = _fmt(Ealternative ? Locale->Ex_fmt : Locale->x_fmt, t, pt, ptlim); + pt = _fmt(Locale->x_fmt, t, pt, ptlim); continue; case 'y': pt = _conv((t->tm_year + TM_YEAR_BASE) % 100, |