This is the mail archive of the mailing list for the glibc project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC][PATCH v4 06/11] Provide backward compatibility for strftime family (bug 10871).

On 11/05/2016 11:53 AM, Rafal Luzynski wrote:
4.11.2016 14:40 Florian Weimer <> wrote:

On 10/28/2016 02:49 AM, Rafal Luzynski wrote:
As %OB format specifier has been added to strftime/wcsftime
family of functions backward compatibility implementation must be
provided for older binaries which assume that %B returns
a month name in the nominative case.

I think this is a misuse of symbol versioning. Why would I want to pick
up this change when compiling from source, but not for existing binaries?


There may be applications which rely on the fact that "%B"
returns the month name in a nominative case. An example is cal(1)
which has been pointed out in [1]. Their source code should be
changed to use "%OB" but it cannot be expected from the existing

You could also ask how to provide the backward compatibility
for the applications compiled from source.

Yes, that's what I'm concerned about.

I think it's impossible and it's been kinda agreed in [2].

I think we should strive to provide backwards compatibility for applications and not alter the meaning of %B, and rather change %c to use %OB (or whatever the source of the month name in genitive ends up to be) instead of %B.

One example where this matters is German. If POSIX requires that %B returns the genitive case, as has been suggested, then all applications which currently use %B are broken because I have yet to see a mechanically generated German date string which actually needs the genitive case. In current usage, they only occur in phrases such “on the last Sunday of November”.

Does this clarify my position?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]