fix parsing dates with months abbreviated in some locales #1344
+15
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Current code first attempts to detect english abbreviations for %b and only if the string does not start with one of the months, tries the locale specific names.
This is incorrect for some locales.
For example in fr_FR %b for november is
nov.
. Parsingnov. 29
as%b %d
would fail because we wrongly assume that the month is justnov
and notnov.
. Then we attempt to parse. 29
as%d
.The correct solution would be to try english and if later the string does not match to backtrack, but this does not match the existing flow of the code.
Instead this restricts the fast path to matching full words to the english locale, not only prefixes.
Fixes: #1086