don't allow comments at the end of lines
authorLennart Poettering <lennart@poettering.net>
Wed, 27 Jan 2010 04:30:38 +0000 (05:30 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 27 Jan 2010 04:30:38 +0000 (05:30 +0100)
conf-parser.c

index 2f013e3..0388a24 100644 (file)
@@ -13,6 +13,7 @@
 #include "log.h"
 
 #define COMMENTS "#;\n"
+#define NEWLINES "\n\r"
 #define LINE_MAX 4096
 
 /* Run the user supplied parser for an assignment */
@@ -77,16 +78,19 @@ static char *strip(char *s) {
 
 /* Parse a variable assignment line */
 static int parse_line(const char *filename, unsigned line, char **section, const char* const * sections, const ConfigItem *t, char *l, void *userdata) {
-        char *e, *c, *b;
+        char *e, *b, *c;
 
         b = l+strspn(l, WHITESPACE);
 
-        if ((c = strpbrk(b, COMMENTS)))
+        if ((c = strpbrk(b, NEWLINES)))
                 *c = 0;
 
         if (!*b)
                 return 0;
 
+        if (strchr(COMMENTS, *b))
+                return 0;
+
         if (startswith(b, ".include ")) {
                 char *path = NULL, *fn;
                 int r;