Blame SOURCES/bltk-1.0.9-conf_home.patch

16f2df
diff -up bltk-1.0.9/tools/bltk/parseconf.c.conf_home bltk-1.0.9/tools/bltk/parseconf.c
16f2df
--- bltk-1.0.9/tools/bltk/parseconf.c.conf_home	2009-07-31 10:11:51.812041537 +0200
16f2df
+++ bltk-1.0.9/tools/bltk/parseconf.c	2009-07-31 10:14:00.747294693 +0200
16f2df
@@ -47,7 +47,8 @@
16f2df
 
16f2df
 #include "bltk.h"
16f2df
 
16f2df
-#define BLTK_CONF                   "/etc/bltk.conf"
16f2df
+#define BLTK_CONF                   "bltk.conf"
16f2df
+#define BLTK_HOME                   ".bltk"
16f2df
 
16f2df
 typedef struct para_item_str_t
16f2df
 {
16f2df
@@ -221,12 +222,24 @@ void
16f2df
 param_load_conf()
16f2df
 {
16f2df
   char str[STR_LEN];
16f2df
+  char conf_file[STR_LEN];
16f2df
   char name[STR_LEN], val[STR_LEN];
16f2df
   int index, len;
16f2df
 	FILE *f;
16f2df
 
16f2df
-  if ((f = fopen(BLTK_CONF, "rt")) != NULL)
16f2df
+
16f2df
+  sprintf(conf_file, "%s/%s/%s", getenv("HOME"), BLTK_HOME, BLTK_CONF);
16f2df
+  if ((f = fopen(conf_file, "rt")) == NULL)
16f2df
   {
16f2df
+    sprintf(conf_file, "/etc/%s", BLTK_CONF);
16f2df
+    f = fopen(conf_file, "rt");
16f2df
+  }
16f2df
+
16f2df
+  if (f != NULL)
16f2df
+  {
16f2df
+    sprintf(str, "BLTK_CONF=%s", conf_file);
16f2df
+    putenv(strdup(str));
16f2df
+
16f2df
     while (fgets(str, STR_LEN, f) != NULL)
16f2df
     {
16f2df
       if ((len = strlen(str)) > 0 && str[len-1] == '\n')
16f2df
@@ -264,7 +277,7 @@ param_load_defaults()
16f2df
 
16f2df
   if (bltk_home == NULL)
16f2df
   {
16f2df
-    sprintf(str, "%s/.bltk", getenv("HOME"));
16f2df
+    sprintf(str, "%s/%s", getenv("HOME"), BLTK_HOME);
16f2df
     bltk_home = strdup(str);
16f2df
   } else if (bltk_home[0] == '~') {
16f2df
     sprintf(str, "%s%s", getenv("HOME"), bltk_home+1);