summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDom Lachowicz <domlachowicz@gmail.com>2003-10-20 12:57:08 +0000
committerDom Lachowicz <domlachowicz@gmail.com>2003-10-20 12:57:08 +0000
commit9582e8b41f0d39842726cd3ef53c01a5b1b2ddc7 (patch)
tree192dc2da0e42440844d39cdfbfb58721c7ffc84a
parent9387a84b598ef2387c1adfbb0b9b2c76f67f53a3 (diff)
downloadenchant-9582e8b41f0d39842726cd3ef53c01a5b1b2ddc7.tar.gz
part of bug 5927
git-svn-id: svn+ssh://svn.abisource.com/svnroot/enchant/trunk@20881 bcba8976-2d24-0410-9c9c-aab3bd5fdfd6
-rw-r--r--src/uspell/uspell_provider.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/uspell/uspell_provider.cpp b/src/uspell/uspell_provider.cpp
index 3ab5d47..5c8aa9f 100644
--- a/src/uspell/uspell_provider.cpp
+++ b/src/uspell/uspell_provider.cpp
@@ -279,7 +279,7 @@ uspell_request_dict (const char * base, const char * mapping, const int flags)
static uSpell *
uspell_request_manager (const char * private_dir, size_t mapIndex)
{
- char * uspell_prefix;
+ char * uspell_prefix, * home_dir;
uSpell * manager = NULL;
@@ -298,6 +298,21 @@ uspell_request_manager (const char * private_dir, size_t mapIndex)
}
}
+ if (!manager) return NULL;
+ // look for a supplementary private dictionary
+ home_dir = enchant_get_user_home_dir ();
+ if (home_dir) {
+ gchar * auxFileName, * transPart;
+ transPart = g_strconcat (mapping[mapIndex].language_tag, ".dic", NULL);
+ auxFileName = g_build_filename (home_dir, ".enchant", transPart, NULL);
+ g_free (transPart);
+ g_free (home_dir);
+#ifdef DEBUG
+ fprintf(stdout, "Trying to assimilate file [%s]\n", auxFileName);
+#endif
+ (void) manager->assimilateFile (auxFileName);
+ g_free (auxFileName);
+ }
return manager;
}