GtkCalendar should not use "%B" date format
GtkCalendar widget uses this code to generate the list of month names:
strftime ( buffer, sizeof (buffer), "%B", gmtime (&tmp_time));
With the recent change in glibc (which also has been working in BSD family for a long time) this is no longer correct, "%OB"
should be used instead.
I haven't got yet a pull request ready but I think that if it's unlikely that GTK 4 will be running on Linux systems with glibc older than 2.27 then it's OK just to replace "%B"
with "%OB"
. For 3.x and 2.x branches I'm thinking about a hack like this:
static const char *format = NULL;
if G_UNLIKELY (!format)
{
strftime (buffer, sizeof (buffer), (format = "%OB"), gmtime (&tmp_time));
if (!strcmp (buffer, "%OB"))
strftime (buffer, sizeof (buffer), (format = "%B"), gmtime (&tmp_time));
}
else
strftime (buffer, sizeof (buffer), format, gmtime (&tmp_time));