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

Reply via email to