diff options
author | Eike Rathke <erack@redhat.com> | 2017-08-29 18:24:05 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2017-08-30 11:06:36 +0200 |
commit | ae6c5083f04f8fad299cdc7a6b6558f1270cc619 (patch) | |
tree | c570e8c7d4f50064e9b5b12872b4f220c9140dbf /svl | |
parent | 008199ee75ed4edc250270628f6e6cb1677dbbc9 (diff) |
Related: tdf#91758 don't remember nCanForceToIso8601 state
CanForceToIso8601() can be called twice for different DateOrder.
Change-Id: I656d499b8a557814326fe71333fcb644c7d3e909
Diffstat (limited to 'svl')
-rw-r--r-- | svl/source/numbers/zforfind.cxx | 40 | ||||
-rw-r--r-- | svl/source/numbers/zforfind.hxx | 16 |
2 files changed, 18 insertions, 38 deletions
diff --git a/svl/source/numbers/zforfind.cxx b/svl/source/numbers/zforfind.cxx index cc4f160ee1d0..2c6bf47ce297 100644 --- a/svl/source/numbers/zforfind.cxx +++ b/svl/source/numbers/zforfind.cxx @@ -124,7 +124,6 @@ void ImpSvNumberInputScan::Reset() nAcceptedDatePattern = -2; nDatePatternStart = 0; nDatePatternNumbers = 0; - nCanForceToIso8601 = 0; for (sal_uInt32 i = 0; i < SV_MAX_COUNT_INPUT_STRINGS; i++) { @@ -1037,42 +1036,39 @@ bool ImpSvNumberInputScan::MayBeIso8601() bool ImpSvNumberInputScan::CanForceToIso8601( DateOrder eDateOrder ) { - if (nCanForceToIso8601 == 0) + int nCanForceToIso8601 = 0; + if (!MayBeIso8601()) { + nCanForceToIso8601 = 1; + } + else if (nMayBeIso8601 >= 3) + { + nCanForceToIso8601 = 2; // at least 3 digits in year + } + else + { + nCanForceToIso8601 = 1; + } - if (!MayBeIso8601()) - { - nCanForceToIso8601 = 1; - } - else if (nMayBeIso8601 >= 3) - { - nCanForceToIso8601 = 2; // at least 3 digits in year - } - else - { - nCanForceToIso8601 = 1; - } - - sal_Int32 n; - switch (eDateOrder) - { + sal_Int32 n; + switch (eDateOrder) + { case DateOrder::DMY: // "day" value out of range => ISO 8601 year if ((n = sStrArray[nNums[0]].toInt32()) < 1 || n > 31) { nCanForceToIso8601 = 2; } - break; + break; case DateOrder::MDY: // "month" value out of range => ISO 8601 year if ((n = sStrArray[nNums[0]].toInt32()) < 1 || n > 12) { nCanForceToIso8601 = 2; } - break; + break; case DateOrder::YMD: // always possible nCanForceToIso8601 = 2; - break; + break; default: break; - } } return nCanForceToIso8601 > 1; } diff --git a/svl/source/numbers/zforfind.hxx b/svl/source/numbers/zforfind.hxx index 0ea6c18d03bb..6a4ebf7ee9f2 100644 --- a/svl/source/numbers/zforfind.hxx +++ b/svl/source/numbers/zforfind.hxx @@ -62,12 +62,6 @@ public: /** Whether input can be forced to ISO 8601 format. Depends on locale's date separator and a specific date format order. - - @param eDateOrder - Evaluated only on first call during one scan process, subsequent - calls return state of nCanForceToIso8601! - - @see nCanForceToIso8601 */ bool CanForceToIso8601( DateOrder eDateOrder ); @@ -143,16 +137,6 @@ private: */ sal_uInt8 nMayBeIso8601; - /** State of ISO 8601 can be forced. - - 0:= don't know yet - 1:= no - 2:= yes - - @see CanForceToIso8601() - */ - sal_uInt8 nCanForceToIso8601; - /** State of dd-month-yy or yy-month-dd detection, with month name. 0:= don't know yet |