aboutsummaryrefslogtreecommitdiff
path: root/dlib
diff options
context:
space:
mode:
authorTim Nieradzik, Jorge Arellano Cid <devnull@localhost>2009-04-28 08:32:47 -0400
committerTim Nieradzik, Jorge Arellano Cid <devnull@localhost>2009-04-28 08:32:47 -0400
commit25308249920a3f0bf194569193ddf369ff19e480 (patch)
treee250e306df1031bf532cd154e68ea415431e16c2 /dlib
parent3b8078f51c75b6d9160688c544db60729df83e90 (diff)
Refactor the preferences parser
Diffstat (limited to 'dlib')
-rw-r--r--dlib/dlib.c10
-rw-r--r--dlib/dlib.h2
2 files changed, 8 insertions, 4 deletions
diff --git a/dlib/dlib.c b/dlib/dlib.c
index 023f869a..9d8cc062 100644
--- a/dlib/dlib.c
+++ b/dlib/dlib.c
@@ -758,9 +758,10 @@ void *dList_find_sorted (Dlist *lp, const void *data, dCompareFunc func)
* - line is modified!
* - it skips blank lines and lines starting with '#'
*
- * Return value: 0 on successful value/pair, -1 otherwise
+ * Return value: 1 on blank line or comment, 0 on successful value/pair,
+ * -1 otherwise.
*/
-int dParser_get_rc_pair(char **line, char **name, char **value)
+int dParser_parse_rc_line(char **line, char **name, char **value)
{
char *eq, *p;
int len, ret = -1;
@@ -770,7 +771,10 @@ int dParser_get_rc_pair(char **line, char **name, char **value)
*name = NULL;
*value = NULL;
dStrstrip(*line);
- if (*line[0] != '#' && (eq = strchr(*line, '='))) {
+ if (!*line[0] || *line[0] == '#') {
+ /* blank line or comment */
+ ret = 1;
+ } else if ((eq = strchr(*line, '='))) {
/* get name */
for (p = *line; *p && *p != '=' && !isspace(*p); ++p);
*p = 0;
diff --git a/dlib/dlib.h b/dlib/dlib.h
index b1c72293..246f9adb 100644
--- a/dlib/dlib.h
+++ b/dlib/dlib.h
@@ -158,7 +158,7 @@ void *dList_find_sorted (Dlist *lp, const void *data, dCompareFunc func);
/*
*- Parse function ------------------------------------------------------------
*/
-int dParser_get_rc_pair(char **line, char **name, char **value);
+int dParser_parse_rc_line(char **line, char **name, char **value);
/*
*- Misc utility functions ----------------------------------------------------