X-Git-Url: http://the.earth.li/gitweb/?a=blobdiff_plain;f=onak-conf.c;h=f97197cf72694c58167d53ade6b1bb2e205f78f8;hb=80989f28059ef378b7473f65a5cf3afdecc722f3;hp=bbe26a1470f91cde0ce631312225c93f551d86f9;hpb=0f4971d043c38bae1bfb95201622a1405110f899;p=onak.git diff --git a/onak-conf.c b/onak-conf.c index bbe26a1..f97197c 100644 --- a/onak-conf.c +++ b/onak-conf.c @@ -4,10 +4,10 @@ * Jonathan McDowell * * Copyright 2002 Project Purple - * - * $Id: onak-conf.c,v 1.7 2003/06/04 20:57:11 noodles Exp $ */ +#include "config.h" + #include #include #include @@ -45,20 +45,26 @@ struct onak_config config = { NULL, /* pg_dbpass */ }; -void readconfig(void) { +void readconfig(const char *configfile) { FILE *conffile; char curline[1024]; int i; curline[1023] = 0; - conffile = fopen(CONFIGFILE, "r"); + if (configfile == NULL) { + conffile = fopen(CONFIGFILE, "r"); + } else { + conffile = fopen(configfile, "r"); + } if (conffile != NULL) { fgets(curline, 1023, conffile); while (!feof(conffile)) { - for (i = strlen(curline) - 1; isspace(curline[i]); i--) { - curline[i] = 0; - } + for (i = strlen(curline) - 1; + i >= 0 && isspace(curline[i]); + i--) { + curline[i] = 0; + } if (curline[0] == '#' || curline[0] == 0) { /* @@ -110,6 +116,8 @@ void readconfig(void) { lladd(config.syncsites, strdup(&curline[9])); } else if (!strncmp("logfile ", curline, 8)) { config.logfile = strdup(&curline[8]); + } else if (!strncmp("loglevel ", curline, 9)) { + setlogthreshold(atoi(&curline[9])); } else if (!strncmp("this_site ", curline, 10)) { config.thissite = strdup(&curline[10]); } else if (!strncmp("socket_name ", curline, 12) ||