svl/source/numbers/zforfind.cxx |   23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

New commits:
commit 6ba56baf421156715ac3d305dd2548f28e4b414c
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Wed Apr 16 15:50:03 2025 +0200
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Wed Apr 16 17:06:12 2025 +0200

    Avoid calls to ImplGetDay, ImplGetMonth and ImplGetYear
    
    ... where these calls aren't needed (the return value is not used),
    or where the value is already obtained.
    
    Change-Id: Ibd57f9f113e7fe16214be0cbb4daf0c3ec58663c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184280
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>

diff --git a/svl/source/numbers/zforfind.cxx b/svl/source/numbers/zforfind.cxx
index 2b91fa662845..6d197c9488d1 100644
--- a/svl/source/numbers/zforfind.cxx
+++ b/svl/source/numbers/zforfind.cxx
@@ -1960,19 +1960,13 @@ input for the following reasons:
                 {
                 case DateOrder::MDY:
                 case DateOrder::YMD:
-                {
-                    sal_uInt16 nDay = ImplGetDay(0);
-                    sal_uInt16 nYear = ImplGetYear(0);
-                    if (nDay == 0 || nDay > 32)
-                    {
-                        pCal->setValue( CalendarFieldIndex::YEAR, nYear);
-                    }
-                    else
+                    if (sal_uInt16 day = ImplGetDay(0); day > 0 && day <= 32) 
// Why 32?
                     {
-                        pCal->setValue( CalendarFieldIndex::DAY_OF_MONTH, 
ImplGetDay(0) );
+                        pCal->setValue(CalendarFieldIndex::DAY_OF_MONTH, day);
+                        break;
                     }
-                    break;
-                }
+                    // Parse 'june-2007' as June 1 2007
+                    [[fallthrough]];
                 case DateOrder::DMY:
                     pCal->setValue( CalendarFieldIndex::YEAR, ImplGetYear(0) );
                     break;
@@ -2073,16 +2067,19 @@ input for the following reasons:
                     switch (DateFmt)
                     {
                     case DateOrder::MDY:
+                    {
                         // M D
+                        const auto month = ImplGetMonth(0);
                         pCal->setValue( CalendarFieldIndex::DAY_OF_MONTH, 
ImplGetDay(1) );
-                        pCal->setValue( CalendarFieldIndex::MONTH, 
ImplGetMonth(0) );
+                        pCal->setValue( CalendarFieldIndex::MONTH, month );
                         if ( !pCal->isValid() )             // 2nd try
                         {                                   // M Y
                             pCal->setValue( CalendarFieldIndex::DAY_OF_MONTH, 
1 );
-                            pCal->setValue( CalendarFieldIndex::MONTH, 
ImplGetMonth(0) );
+                            pCal->setValue( CalendarFieldIndex::MONTH, month );
                             pCal->setValue( CalendarFieldIndex::YEAR, 
ImplGetYear(1) );
                         }
                         break;
+                    }
                     case DateOrder::DMY:
                         // D M
                         pCal->setValue( CalendarFieldIndex::DAY_OF_MONTH, 
ImplGetDay(0) );

Reply via email to