32 lines
1.0 KiB
Diff
32 lines
1.0 KiB
Diff
Use environment variable HOME to get home directory. g_get_home_dir does
|
|
ignore it.
|
|
Index: sdcv-0.4.2/src/sdcv.cpp
|
|
===================================================================
|
|
--- sdcv-0.4.2.orig/src/sdcv.cpp 2008-10-03 09:15:26.000000000 +0200
|
|
+++ sdcv-0.4.2/src/sdcv.cpp 2008-10-03 09:16:25.000000000 +0200
|
|
@@ -157,11 +157,14 @@
|
|
data_dir="/usr/share/stardict/dic";
|
|
}
|
|
|
|
+ const char *homedir = g_getenv ("HOME");
|
|
+ if (!homedir)
|
|
+ homedir = g_get_home_dir ();
|
|
|
|
|
|
strlist_t dicts_dir_list;
|
|
|
|
- dicts_dir_list.push_back(std::string(g_get_home_dir())+G_DIR_SEPARATOR+
|
|
+ dicts_dir_list.push_back(std::string(homedir)+G_DIR_SEPARATOR+
|
|
".stardict"+G_DIR_SEPARATOR+"dic");
|
|
dicts_dir_list.push_back(data_dir);
|
|
|
|
@@ -186,7 +189,7 @@
|
|
}
|
|
|
|
|
|
- string conf_dir = string(g_get_home_dir())+G_DIR_SEPARATOR+".stardict";
|
|
+ string conf_dir = string(homedir)+G_DIR_SEPARATOR+".stardict";
|
|
if (g_mkdir(conf_dir.c_str(), S_IRWXU)==-1 && errno!=EEXIST)
|
|
fprintf(stderr, _("g_mkdir failed: %s\n"), strerror(errno));
|
|
|