[augeas-devel] augeas: master - Logrotate: tolerate whitespace at the end of a line

David Lutterkort lutter at fedoraproject.org
Wed Feb 24 01:47:21 UTC 2010


Gitweb:        http://git.fedorahosted.org/git/augeas.git?p=augeas.git;a=commitdiff;h=93b7b0aaf0dde37058b113e59696f6860008d0fb
Commit:        93b7b0aaf0dde37058b113e59696f6860008d0fb
Parent:        cb509b442f26f3b808c7156bc0efcb5b7a9af426
Author:        David Lutterkort <lutter at redhat.com>
AuthorDate:    Tue Feb 23 17:11:40 2010 -0800
Committer:     David Lutterkort <lutter at redhat.com>
CommitterDate: Tue Feb 23 17:11:40 2010 -0800

Logrotate: tolerate whitespace at the end of a line

Fixes bug #101
---
 lenses/logrotate.aug            |    6 ++++--
 lenses/tests/test_logrotate.aug |    6 ++++++
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/lenses/logrotate.aug b/lenses/logrotate.aug
index 0ffc35d..51be590 100644
--- a/lenses/logrotate.aug
+++ b/lenses/logrotate.aug
@@ -16,14 +16,16 @@ module Logrotate =
 
    let sep_spc = Util.del_ws_spc
    let sep_val = del /[ \t]*=[ \t]*|[ \t]+/ " "
-   let eol = Util.del_str "\n"
+   let eol = Util.eol
    let num = /[0-9]+/
    let word = /[^,#= \n\t{}]+/
    let filename = /\/[^,#= \n\t{}]+/
    let size = num . /[kMG]?/
 
    (* define comments and empty lines *)
-   let comment (indent:string) = [ label "#comment" . del /[ \t]*/ indent . del /#[ \t]*/ "# " .  store /([^ \t\n][^\n]*)?/ . eol ]
+   let comment (indent:string) =
+     let nl = Util.del_str "\n" in
+     [ label "#comment" . del /[ \t]*/ indent . del /#[ \t]*/ "# " .  store /([^ \t\n].*)?/ . nl ]
    let empty   = [ del /[ \t]*\n/ "\n" ]
 
 
diff --git a/lenses/tests/test_logrotate.aug b/lenses/tests/test_logrotate.aug
index 83f474a..ad78fa1 100644
--- a/lenses/tests/test_logrotate.aug
+++ b/lenses/tests/test_logrotate.aug
@@ -176,3 +176,9 @@ include /etc/logrotate.d
 \tprerotate
 \tfoobar\n
 \tendscript\n}\n"
+
+(* Bug #101: whitespace at the end of the line *)
+test Logrotate.lns get "/file {\n missingok \t\n}\n" =
+  { "rule"
+    { "file" = "/file" }
+    { "missingok" = "missingok" } }




More information about the augeas-devel mailing list