X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Fconf-input.c;h=b890295d99742025c5fecbe69c89544770d6c86d;hb=4d9bc7b7d4159cc0c59e608d64a1289b1ac3b45a;hp=d445a198654202542d09c35ab37c7f0e6bb00df8;hpb=7119957a2df57af617f432dd429e1d6ae5cbe0fd;p=libucw.git diff --git a/lib/conf-input.c b/lib/conf-input.c index d445a198..b890295d 100644 --- a/lib/conf-input.c +++ b/lib/conf-input.c @@ -284,6 +284,11 @@ error: #endif char *cf_def_file = DEFAULT_CONFIG; +#ifndef ENV_VAR_CONFIG +#define ENV_VAR_CONFIG NULL +#endif +char *cf_env_file = ENV_VAR_CONFIG; + static uns postpone_commit; // only for cf_getopt() static uns everything_committed; // after the 1st load, this flag is set on @@ -380,8 +385,16 @@ static void load_default(void) { if (cf_def_file) - if (cf_load(cf_def_file)) - die("Cannot load default config %s", cf_def_file); + { + char *env; + if (cf_env_file && (env = getenv(cf_env_file))) + { + if (cf_load(env)) + die("Cannot load config file %s", env); + } + else if (cf_load(cf_def_file)) + die("Cannot load default config %s", cf_def_file); + } } static void