Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 722a5c04 authored by Eric Fischer's avatar Eric Fischer
Browse files

Add support for "standalone months" to tztime's strftime().

The idea here is that some languages need a different form of the month
name in constructions like "January 2" than in "January 2009", since the
one in the "January 2" case really means "of January."  So with this change,
a format string of "%-B" will use the standalone month, while "%B" will
continue to use the format month.
parent c83cd879
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ void localtime_tz(const time_t * const timep, struct tm * tmp, const char* tz);
struct strftime_locale {
    const char *mon[12];    /* short names */
    const char *month[12];  /* long names */
    const char *standalone_month[12];  /* long standalone names */
    const char *wday[7];    /* short names */
    const char *weekday[7]; /* long names */
    const char *X_fmt;
+11 −4
Original line number Diff line number Diff line
@@ -172,10 +172,17 @@ label:
					pt, ptlim, modifier);
				continue;
			case 'B':
				if (modifier == '-') {
					pt = _add((t->tm_mon < 0 ||
						t->tm_mon >= MONSPERYEAR) ?
						"?" : Locale->standalone_month[t->tm_mon],
						pt, ptlim, modifier);
				} else {
					pt = _add((t->tm_mon < 0 ||
						t->tm_mon >= MONSPERYEAR) ?
						"?" : Locale->month[t->tm_mon],
						pt, ptlim, modifier);
				}
				continue;
			case 'b':
			case 'h':