From f4a684f0fd8a83bb26e3ced8d2ebc9670b3aa756 Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Sun, 27 Jun 2010 18:56:56 +0000 Subject: [PATCH] Improve the initial report loading code so that it loads only files ending with .scm. This should avoid accidentally loading .scm~ backup files etc. The code matches the filenames against the regexp "\.scm$", so the previous hand- written comparison against "." and ".." is no longer necessary as those don't match that regexp anyway. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@19309 57a11ea4-9604-0410-9ed3-97b8803252fd --- .../standard-reports/standard-reports.scm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/report/standard-reports/standard-reports.scm b/src/report/standard-reports/standard-reports.scm index 60156a0c63..0b5da73337 100644 --- a/src/report/standard-reports/standard-reports.scm +++ b/src/report/standard-reports/standard-reports.scm @@ -76,25 +76,25 @@ ;; list of files in the directory (define (directory-files dir) - (let ((dir-stream (opendir dir))) - (let loop ((new (readdir dir-stream)) + (let ((fname-regexp (make-regexp "\.scm$")) ;; Regexp that matches the desired filenames + (dir-stream (opendir dir))) + (let loop ((fname (readdir dir-stream)) (acc '()) ) - (if (eof-object? new) + (if (eof-object? fname) (begin (closedir dir-stream) acc ) (loop (readdir dir-stream) - (if (or (string=? "." new) ;;; ignore - (string=? ".." new)) ;;; ignore - acc - (cons new acc) - ) + (if (regexp-exec fname-regexp fname) + (cons fname acc) + acc + ) ) ) - ) ) + ) ) ;; Process a list of files by removing the ".scm" suffix if it exists