From 5ced1e3c67a80e55947d68489ace603eb970b82e Mon Sep 17 00:00:00 2001 From: daniel-Jones Date: Mon, 29 Oct 2018 14:03:56 +1030 Subject: some more work, created a settings struct and began a function to get all values we need --- main.c | 57 +++++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 43 insertions(+), 14 deletions(-) diff --git a/main.c b/main.c index c1f1718..a9e47ce 100644 --- a/main.c +++ b/main.c @@ -18,16 +18,44 @@ #include #include +#include #include #include "util.h" #include "replace.h" #include "cfg.h" +struct +settings +{ + /* + * the values here are retrieved from the config file + * the default sizes are sane for my purposes + */ + + /* index */ + char indextitle[30]; /* title of the index */ + char indexsrc[30]; /* index source file */ + + /* blog */ + char blogtitle[30]; /* title of blog pages */ + char blogheader[256]; /* header for each blog page */ + char blogindir[30]; /* directory under ./input/ that contains the blog posts */ + char blogoutdir[30]; /* directory under ./output/ that will hold final blog pages */ + int blogpostsperpage; /* number of blog posts per page */ +}; + +/* definitions */ +void +retrievevalues(struct cfgfile *cfg, struct settings *info); + +int +main(void); int main(void) { + /* setup the cfg parser */ struct cfgfile *cfg = malloc(sizeof(struct cfgfile)); if (!cfgsetup(cfg, "settings.cfg")) { @@ -35,20 +63,21 @@ main(void) cfgfree(cfg); exit(1); } - char test[256]; - cfggetvalue(cfg, "blogtitle", test, sizeof(test)); - puts(test); - char val[3]; - cfggetvalue(cfg, "postsperpage", val, sizeof(val)); - printf("%d\n", atoi(val)*2); - cfgfree(cfg); - char *content = readfilecontent("templates/template.txt"); - if (!content) - perror("unable to read file"); - char *replaced = replaceinmemory(content, "{CONTENT}", "test"); - puts(replaced); - free(content); - free(replaced); + /* create settings struct and fill it */ + struct settings info = {0}; + retrievevalues(cfg, &info); + puts(info.indexsrc); + cfgfree(cfg); return 0; } + +void +retrievevalues(struct cfgfile *cfg, struct settings *info) +{ + /* index */ + cfggetvalue(cfg, "indextitle", info->indextitle, sizeof(info->indextitle)); + cfggetvalue(cfg, "indexsrc", info->indexsrc, sizeof(info->indexsrc)); + + /* blog */ +} -- cgit v1.2.3