Resolves: tdf#116184 Check that there is no trailing number behind a match
... without being separated by a blank so the match is rejected if
it doesn't possibly form a date+time input and input can be
accepted as decimal fraction.
Change-Id: Iabd1d216366ecb8454c59822ce58f112bfa6091e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122024
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
diff --git a/svl/source/numbers/zforfind.cxx b/svl/source/numbers/zforfind.cxx
index 121b9bd..9d3c3ba 100644
--- a/svl/source/numbers/zforfind.cxx
+++ b/svl/source/numbers/zforfind.cxx
@@ -1487,8 +1487,9 @@ bool ImpSvNumberInputScan::IsAcceptedDatePattern( sal_uInt16 nStartPatternAt )
if (!IsNum[nCheck])
{
// Trailing (or separating if time follows) blanks are ok.
SkipBlanks( sStrArray[nCheck], nPos);
if (nPos == sStrArray[nCheck].getLength())
// No blank and a following number is not.
const bool bBlanks = SkipBlanks( sStrArray[nCheck], nPos);
if (nPos == sStrArray[nCheck].getLength() && (bBlanks || !IsNum[nNext]))
{
nAcceptedDatePattern = nPattern;
return true;