]> git.webhop.me Git - lcd4linux.git/commitdiff
handle config files with <CR><LF> (DOS line ending) ported from volker_dev (r826)
authormichael <michael@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Wed, 31 Dec 2008 06:12:29 +0000 (06:12 +0000)
committermichael <michael@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Wed, 31 Dec 2008 06:12:29 +0000 (06:12 +0000)
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@920 3ae390bd-cb1e-0410-b409-cd5a39f66f1f

cfg.c

diff --git a/cfg.c b/cfg.c
index cef48d447e3367bb88f7b58240404132a98dc4a3..d712db9f133ab96c0b2397009f980ab0f82bce81 100644 (file)
--- a/cfg.c
+++ b/cfg.c
@@ -132,15 +132,19 @@ static char *strip(char *s, const int strip_comments)
        if (*p == '"')
            do
                p++;
-           while (*p && *p != '\n' && *p != '"');
+           while (*p && *p != '\n' && *p != '\r' && *p != '"');
        if (*p == '\'')
            do
                p++;
-           while (*p && *p != '\n' && *p != '\'');
+           while (*p && *p != '\n' && *p != '\r' && *p != '\'');
        if (*p == '\n' || (strip_comments && *p == '#' && (p == s || *(p - 1) != '\\'))) {
            *p = '\0';
            break;
        }
+       if (*p == '\r' && *(p + 1) == '\n') {
+           /* replace <CR> from DOS <CR><LF> with blank */
+           *p = ' ';
+       }
     }
 
     for (p--; p > s && isblank(*p); p--)