diff options
author | Allan McRae <allan@archlinux.org> | 2011-12-22 08:46:47 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2011-12-23 21:36:25 +0100 |
commit | d95c04945fc85bcc584026f7fded57dc8724ba6a (patch) | |
tree | 0c7b56c7164d37465406a4f8cddd70717e28d2c6 | |
parent | 67290441b80fa813a472767353095425c78805af (diff) | |
download | pacman-d95c04945fc85bcc584026f7fded57dc8724ba6a.tar.gz pacman-d95c04945fc85bcc584026f7fded57dc8724ba6a.tar.xz |
Allow comments after repo section header in pacman.conf
Pacman assumes that the final character of a line specifing a repo
in pacman.conf is a "]". But it did not clean whitespace from the
line after removing any comments. So lines like:
[allanbrokeit] # could break system
caused pacman not to recognize the repo. Adjust config parsing to
strip comments before trimming whitespace from the end of the string.
Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | src/pacman/conf.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/pacman/conf.c b/src/pacman/conf.c index a4d115dd..a9f0de91 100644 --- a/src/pacman/conf.c +++ b/src/pacman/conf.c @@ -719,17 +719,19 @@ static int _parseconfig(const char *file, struct section_t *section, size_t line_len; linenum++; - strtrim(line); - line_len = strlen(line); /* ignore whole line and end of line comments */ - if(line_len == 0 || line[0] == '#') { - continue; - } if((ptr = strchr(line, '#'))) { *ptr = '\0'; } + strtrim(line); + line_len = strlen(line); + + if(line_len == 0) { + continue; + } + if(line[0] == '[' && line[line_len - 1] == ']') { char *name; /* only possibility here is a line == '[]' */ |