diff options
| -rw-r--r-- | main.c | 57 | 
1 files changed, 43 insertions, 14 deletions
| @@ -18,16 +18,44 @@  #include <stdio.h>  #include <stdlib.h> +#include <string.h>  #include <errno.h>  #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 */ +} | 
