svl/source/numbers/zforfind.cxx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)
New commits: commit c796f58d6ea3999268333f6cff687ee517882717 Author: Eike Rathke <er...@redhat.com> Date: Wed Dec 19 21:53:13 2012 +0100 resolved fdo#54344 let date pattern match overrule incomplete format match (cherry picked from commit 8041285b369e58df477b5e92df4bde68e96056a2) Conflicts: svl/source/numbers/zforfind.cxx Change-Id: Ieeba328b1e2a1e0fdcd44ad7899da257f846a6b8 Reviewed-on: https://gerrit.libreoffice.org/1426 Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/svl/source/numbers/zforfind.cxx b/svl/source/numbers/zforfind.cxx index 9c4018c..0ccb4b4 100644 --- a/svl/source/numbers/zforfind.cxx +++ b/svl/source/numbers/zforfind.cxx @@ -1571,11 +1571,21 @@ input for the following reasons: { case 0: // not found { - bool bHadExact; sal_uInt32 nExactDateOrder = (bFormatTurn ? pFormat->GetExactDateOrder() : GetDatePatternOrder()); bool bIsExact = (0xff < nExactDateOrder && nExactDateOrder <= 0xffff); + if (!bIsExact && bFormatTurn && IsAcceptedDatePattern( nNums[0])) + { + // If input does not match format but pattern, use pattern + // instead, even if eEDF==NF_EVALDATEFORMAT_FORMAT_INTL. + // For example, format has "Y-M-D" and pattern is "D.M.", + // input with 2 numbers can't match format and 31.12. would + // lead to 1931-12-01 (fdo#54344) + nExactDateOrder = GetDatePatternOrder(); + bIsExact = (0xff < nExactDateOrder && nExactDateOrder <= 0xffff); + } + bool bHadExact; if (bIsExact) { // formatted as date and exactly 2 parts bHadExact = true;
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits