summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--svl/source/numbers/zforfind.cxx17
1 files changed, 17 insertions, 0 deletions
diff --git a/svl/source/numbers/zforfind.cxx b/svl/source/numbers/zforfind.cxx
index 3cf61e17dc2e..ba315fc4f720 100644
--- a/svl/source/numbers/zforfind.cxx
+++ b/svl/source/numbers/zforfind.cxx
@@ -2690,6 +2690,23 @@ bool ImpSvNumberInputScan::IsNumberFormat(
{
if (nAnzNums > 3)
res = false;
+ else if (nAnzNums == 2)
+ { // check locale dependent abbreviation
+ /* FIXME: here go locale data acceptance patterns
+ * instead */
+ // Only one separator, 11/23 yes, 23/11 yes, 11/23/
+ // no, 23/11/ no, 11-23 yes, 23-11 no?, 11-23- no,
+ // 23-11- no, 23.11 no, 23.11. yes.
+ sal_Unicode cDateSep = pFormatter->GetDateSep().GetChar(0);
+ if (cDateSep == '.' && (nAnzStrings == 3 ||
+ (nNums[1]+1 < nAnzStrings &&
+ sStrArray[nNums[1]+1].GetChar(0) != cDateSep)))
+ res = false;
+ else if ((cDateSep == '/' || cDateSep == '-') &&
+ (nNums[1]+1 < nAnzStrings &&
+ sStrArray[nNums[1]+1].GetChar(0) == cDateSep))
+ res = false;
+ }
}
break;