From b7a3652de74bd5245ebf807e089de41d68147fa4 Mon Sep 17 00:00:00 2001 From: Christopher Lam Date: Sun, 21 Aug 2022 16:52:13 +0800 Subject: [PATCH] [date-utilities] avoid report crash if start>end date --- libgnucash/app-utils/date-utilities.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libgnucash/app-utils/date-utilities.scm b/libgnucash/app-utils/date-utilities.scm index d55c410eae..3901ccfe88 100644 --- a/libgnucash/app-utils/date-utilities.scm +++ b/libgnucash/app-utils/date-utilities.scm @@ -339,6 +339,11 @@ (assv-ref MonthDeltas incr)) (define (make-interval from to) (list from (if (< to enddate) (decdate to SecDelta) enddate))) + (when (< enddate startdate) + (let ((saved-enddate enddate)) + (gnc:warn "start > end date. Swapping dates to avoid some reports crashing.") + (set! enddate startdate) + (set! startdate saved-enddate))) (let loop ((result '()) (date startdate) (idx 0)) @@ -365,6 +370,11 @@ (define (gnc:make-date-list startdate enddate incr) (define month-delta (assv-ref MonthDeltas incr)) + (when (< enddate startdate) + (let ((saved-enddate enddate)) + (gnc:warn "start > end date. Swapping dates to avoid some reports crashing.") + (set! enddate startdate) + (set! startdate saved-enddate))) (let loop ((result '()) (date startdate) (idx 0))