diff options
author | Dom Lachowicz <domlachowicz@gmail.com> | 2003-10-20 12:57:08 +0000 |
---|---|---|
committer | Dom Lachowicz <domlachowicz@gmail.com> | 2003-10-20 12:57:08 +0000 |
commit | 9582e8b41f0d39842726cd3ef53c01a5b1b2ddc7 (patch) | |
tree | 192dc2da0e42440844d39cdfbfb58721c7ffc84a | |
parent | 9387a84b598ef2387c1adfbb0b9b2c76f67f53a3 (diff) | |
download | enchant-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.cpp | 17 |
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; } |