This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] strftime: support %q to output the quarter of year
- From: Pádraig Brady <P at draigBrady dot com>
- To: libc-alpha at sourceware dot org
- Cc: Pádraig Brady <P at draigBrady dot com>
- Date: Thu, 3 Nov 2016 19:46:41 +0000
- Subject: [PATCH] strftime: support %q to output the quarter of year
- Authentication-results: sourceware.org; auth=none
This is already supported by gnulib.
* manual/time.texi: Document %q outputs quarter 1..4.
* time/strftime_l.c: Implement %q.
---
manual/time.texi | 6 ++++++
time/strftime_l.c | 4 ++++
2 files changed, 10 insertions(+)
diff --git a/manual/time.texi b/manual/time.texi
index 8a5f94e..f4c5f87 100644
--- a/manual/time.texi
+++ b/manual/time.texi
@@ -1510,6 +1510,12 @@ most locales @samp{AM}/@samp{PM} format is not supported, in such cases
This format is a GNU extension.
+@item %q
+Quarter of the year (@samp{1}@dots{}@samp{4}),
+with January starting the first quarter.
+
+This format is a GNU extension.
+
@item %r
The complete calendar time using the AM/PM format of the current locale.
diff --git a/time/strftime_l.c b/time/strftime_l.c
index 869e0b9..13db490 100644
--- a/time/strftime_l.c
+++ b/time/strftime_l.c
@@ -1108,6 +1108,10 @@ __strftime_internal (s, maxsize, format, tp, tzset_called ut_argument
goto underlying_strftime;
#endif
+ case L_('q'): /* GNU extension. */
+ DO_SIGNED_NUMBER (1, tp->tm_mon < -3, tp->tm_mon / 3 + 1U);
+ break;
+
case L_('R'):
subfmt = L_("%H:%M");
goto subformat;
--
2.5.5