summaryrefslogtreecommitdiff
path: root/svl
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2012-01-10 16:42:02 +0100
committerEike Rathke <erack@redhat.com>2012-01-11 13:18:45 +0100
commitf6c465e3555c8ac9d2902b3ac35f2d4784eed4c9 (patch)
treee9d1992460b0b7389288ac48090595226fadf6cc /svl
parent8298a4741d95034f65c648dddfae081f44cf9455 (diff)
lower date acceptance with only two numbers
Diffstat (limited to 'svl')
-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;