[Gnucash-changes] r14354 - gnucash/trunk/src/import-export/qif-import - Don't crash when parsing empty string as date. Fixes #344466.
Chris Shoemaker
chris at cvs.gnucash.org
Mon Jun 12 20:35:47 EDT 2006
Author: chris
Date: 2006-06-12 20:35:47 -0400 (Mon, 12 Jun 2006)
New Revision: 14354
Trac: http://svn.gnucash.org/trac/changeset/14354
Modified:
gnucash/trunk/src/import-export/qif-import/qif-parse.scm
Log:
Don't crash when parsing empty string as date. Fixes #344466.
Modified: gnucash/trunk/src/import-export/qif-import/qif-parse.scm
===================================================================
--- gnucash/trunk/src/import-export/qif-import/qif-parse.scm 2006-06-13 00:14:26 UTC (rev 14353)
+++ gnucash/trunk/src/import-export/qif-import/qif-parse.scm 2006-06-13 00:35:47 UTC (rev 14354)
@@ -429,25 +429,26 @@
(numeric-date-parts '())
(retval date-string)
(match (regexp-exec qif-date-compiled-rexp date-string)))
- (if (match:substring match 1)
- (set! date-parts (list (match:substring match 1)
- (match:substring match 2)
- (match:substring match 3)))
- ;; This is of the form XXXXXXXX; split the string based on
- ;; whether the format is YYYYxxxx or xxxxYYYY
- (let ((date-str (match:substring match 4)))
- (case format
- ((d-m-y m-d-y)
- (let ((m (regexp-exec qif-date-mdy-compiled-rexp date-str)))
- (set! date-parts (list (match:substring m 1)
- (match:substring m 2)
- (match:substring m 3)))))
- ((y-m-d y-d-m)
- (let ((m (regexp-exec qif-date-ymd-compiled-rexp date-str)))
- (set! date-parts (list (match:substring m 1)
- (match:substring m 2)
- (match:substring m 3)))))
- )))
+ (if match
+ (if (match:substring match 1)
+ (set! date-parts (list (match:substring match 1)
+ (match:substring match 2)
+ (match:substring match 3)))
+ ;; This is of the form XXXXXXXX; split the string based on
+ ;; whether the format is YYYYxxxx or xxxxYYYY
+ (let ((date-str (match:substring match 4)))
+ (case format
+ ((d-m-y m-d-y)
+ (let ((m (regexp-exec qif-date-mdy-compiled-rexp date-str)))
+ (set! date-parts (list (match:substring m 1)
+ (match:substring m 2)
+ (match:substring m 3)))))
+ ((y-m-d y-d-m)
+ (let ((m (regexp-exec qif-date-ymd-compiled-rexp date-str)))
+ (set! date-parts (list (match:substring m 1)
+ (match:substring m 2)
+ (match:substring m 3)))))
+ ))))
;; get the strings into numbers (but keep the strings around)
(set! numeric-date-parts
More information about the gnucash-changes
mailing list