Mercurial > code
changeset 146:5109083b4794
Skip comments lines
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 11 May 2012 19:06:56 +0200 |
parents | 24efccba44e4 |
children | 535f12e0a5af |
files | ini.c |
diffstat | 1 files changed, 6 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/ini.c Fri May 11 00:37:38 2012 +0200 +++ b/ini.c Fri May 11 19:06:56 2012 +0200 @@ -16,7 +16,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include <sys/stat.h> #include <stdio.h> #include <stdlib.h> #include <stdarg.h> @@ -240,10 +239,9 @@ ini_warn(cg, "line %d: option within no section", cg->pv->lineno); goto bad; } - if (cg->pv->ignore) - goto bad; - if (!(option = calloc(1, sizeof (*option)))) + if (cg->pv->ignore || + !(option = calloc(1, sizeof (*option)))) goto bad; /* Not valid */ @@ -254,6 +252,7 @@ /* End of option */ end = begin; + sskip(&end); sseek(&end); option->key = sstrndup(begin, end - begin); @@ -317,6 +316,9 @@ while (*lp != '\0') { sskip(&lp); + if (*lp == '\0' || *lp == '#' || *lp == ';') + return 0; + /* Begin of section */ if (*lp == '[') { ++ lp;