X-Git-Url: http://pileus.org/git/?p=lackey;a=blobdiff_plain;f=src%2Fconf.c;h=e82cd9a391c955f906d1f513f89fad47cd333788;hp=5d59d22e29c983fe39b01e122236521d70e71ca9;hb=7edd7d3a9f0bdaaa8df9f68a73f7c84e2b514ce6;hpb=2b8964c94d39fc6d888e0b274cfb9fbe59424c1c diff --git a/src/conf.c b/src/conf.c index 5d59d22..e82cd9a 100644 --- a/src/conf.c +++ b/src/conf.c @@ -43,9 +43,6 @@ static const char *booleans[] = { /* Setup info */ static char *filename; -static parser_t parser; -static int argc; -static char **argv; /* Static data */ static line_t *settings; @@ -103,10 +100,10 @@ static void set_value(const char *group, const char *name, if (groupend) { /* Append to group */ line_t *line = new0(line_t); - groupend->next = line; line->key = strcopy(key); line->value = strcopy(value); line->next = groupend->next; + groupend->next = line; } else if (fileend) { /* Create new group */ line_t *blank = new0(line_t); @@ -271,7 +268,7 @@ static void conf_load(const char *path, parser_t parser) } /* debug printout */ - printf("parse: %s.%s.%s = '%s'\n", group, name, line->key, line->value); + debug("parse: %s.%s.%s = '%s'", group, name, line->key, line->value); /* save line formatting for the next write */ if (prev == NULL) @@ -316,20 +313,16 @@ void conf_save(const char *path) } /* Initialize */ -void conf_setup(int _argc, char **_argv, const char *_name, parser_t _parser) +void conf_setup(const char *name, parser_t parser) { const char *home = getenv("HOME"); - filename = alloc0(strlen(home) + 1 + strlen(_name) + 1); - sprintf(filename, "%s/%s", home, _name); - parser = _parser; - argc = _argc; - argv = _argv; + filename = alloc0(strlen(home) + 1 + strlen(name) + 1); + sprintf(filename, "%s/%s", home, name); + conf_load(filename, parser); } -/* Initialize */ -void conf_init(void) +void conf_start(void) { - conf_load(filename, parser); } /* Update */