summaryrefslogtreecommitdiff
path: root/scaddins/source/datefunc/datefunc.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'scaddins/source/datefunc/datefunc.cxx')
-rw-r--r--scaddins/source/datefunc/datefunc.cxx9
1 files changed, 9 insertions, 0 deletions
diff --git a/scaddins/source/datefunc/datefunc.cxx b/scaddins/source/datefunc/datefunc.cxx
index cd9b3b005718..ca4003cd37e7 100644
--- a/scaddins/source/datefunc/datefunc.cxx
+++ b/scaddins/source/datefunc/datefunc.cxx
@@ -591,6 +591,9 @@ sal_Int32 SAL_CALL ScaDateAddIn::getDiffWeeks(
sal_Int32 nStartDate, sal_Int32 nEndDate,
sal_Int32 nMode ) throw( uno::RuntimeException, lang::IllegalArgumentException, std::exception )
{
+ if (nMode != 0 && nMode != 1)
+ throw lang::IllegalArgumentException();
+
sal_Int32 nNullDate = GetNullDate( xOptions );
sal_Int32 nDays1 = nStartDate + nNullDate;
@@ -628,6 +631,9 @@ sal_Int32 SAL_CALL ScaDateAddIn::getDiffMonths(
sal_Int32 nStartDate, sal_Int32 nEndDate,
sal_Int32 nMode ) throw( uno::RuntimeException, lang::IllegalArgumentException, std::exception )
{
+ if (nMode != 0 && nMode != 1)
+ throw lang::IllegalArgumentException();
+
sal_Int32 nNullDate = GetNullDate( xOptions );
sal_Int32 nDays1 = nStartDate + nNullDate;
@@ -673,6 +679,9 @@ sal_Int32 SAL_CALL ScaDateAddIn::getDiffYears(
sal_Int32 nStartDate, sal_Int32 nEndDate,
sal_Int32 nMode ) throw( uno::RuntimeException, lang::IllegalArgumentException, std::exception )
{
+ if (nMode != 0 && nMode != 1)
+ throw lang::IllegalArgumentException();
+
if ( nMode != 1 )
return getDiffMonths( xOptions, nStartDate, nEndDate, nMode ) / 12;