diff -urN dctc-0.85.0.org/src/dc_com.c dctc-0.85.0/src/dc_com.c --- dctc-0.85.0.org/src/dc_com.c Thu Mar 13 19:03:42 2003 +++ dctc-0.85.0/src/dc_com.c Thu Mar 13 19:04:16 2003 @@ -206,8 +206,17 @@ char *path; path=getenv("HOME"); - running_dir=g_string_new((path!=NULL)?path:"."); - running_dir=g_string_append(running_dir,"/.dctc/running/"); + if (!path) + path = "."; + + if(getenv("CONFIG_DIR")) + path = g_strconcat(path, "/", getenv("CONFIG_DIR"), + "/dctc/running/", NULL); + else + path = g_strconcat(path, "/.dctc/running/", NULL); + + running_dir=g_string_new(path); + g_free(path); } /* fill the running_dctc array with the path to UDP socket of all running dctc */ diff -urN dctc-0.85.0.org/src/main.c dctc-0.85.0/src/main.c --- dctc-0.85.0.org/src/main.c Thu Mar 13 19:03:42 2003 +++ dctc-0.85.0/src/main.c Thu Mar 13 19:06:06 2003 @@ -1675,7 +1675,16 @@ free(socket_dir); } else { path=getenv("HOME"); - g_string_sprintf(local_dctc_sock_path,"%s/.dctc",(path!=NULL)?path:"."); + if (!path) + path = "."; + + if(getenv("CONFIG_DIR")) + path = g_strconcat(path, "/", getenv("CONFIG_DIR"), "/dctc", NULL); + else + path = g_strconcat(path, "/.dctc", NULL); + + local_dctc_sock_path=g_string_new(path); + g_free(path); } if(stat(local_dctc_sock_path->str,&st))