diff --git a/gnucash/import-export/qif-imp/qif-parse.scm b/gnucash/import-export/qif-imp/qif-parse.scm index 3c9194ee55..61fa160ec9 100644 --- a/gnucash/import-export/qif-imp/qif-parse.scm +++ b/gnucash/import-export/qif-imp/qif-parse.scm @@ -149,7 +149,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define (qif-parse:parse-bang-field read-value) - (let ((bang-field (string-downcase! (string-trim read-value)))) + (let ((bang-field (string-downcase! (string-trim-right read-value)))) ;; The QIF files output by the WWW site of Credit Lyonnais ;; begin by: !type bank ;; instead of: !Type:bank @@ -235,8 +235,8 @@ (define (date? d m y ys) (and (number? d) (<= 1 d 31) (number? m) (<= 1 m 12) - (= 4 (string-length ys)) - (number? y) (> y 1930))) + (number? y) (or (not (= 4 (string-length ys))) + (> y 1930)))) (let* ((date-parts (list (match:substring match 1) (match:substring match 2) (match:substring match 3))) diff --git a/gnucash/import-export/qif-imp/test/test-qif-parse.scm b/gnucash/import-export/qif-imp/test/test-qif-parse.scm index ea47029d94..6e550a629e 100644 --- a/gnucash/import-export/qif-imp/test/test-qif-parse.scm +++ b/gnucash/import-export/qif-imp/test/test-qif-parse.scm @@ -157,6 +157,12 @@ "1979/03/03" '(d-m-y y-m-d m-d-y y-d-m))) + (test-equal "qif-parse:check-date-format 03/03/79" + '(d-m-y m-d-y) + (qif-parse:check-date-format + "03/03/79" + '(d-m-y y-m-d m-d-y y-d-m))) + (test-equal "qif-parse:check-date-format 19790303" '(y-m-d y-d-m) (qif-parse:check-date-format