X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=conf-parser.c;h=0388a24bcc315a5cc556986371ef6a7f5e8cbf23;hp=2f013e3f24c26f19a76aa7d1ec7b1d220cfbdf07;hb=1ea86b1803ed7bbb55b31bd9cb780a638a20b2a6;hpb=48e11fe8805bf1fcaa9d6231a037eed9cc931a62 diff --git a/conf-parser.c b/conf-parser.c index 2f013e3f2..0388a24bc 100644 --- a/conf-parser.c +++ b/conf-parser.c @@ -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;