lingucomponent/source/hyphenator/hyphen/hyphenimp.cxx | 2 +- lingucomponent/source/lingutil/lingutil.cxx | 13 +++++++++++++ lingucomponent/source/lingutil/lingutil.hxx | 8 ++++++++ lingucomponent/source/spellcheck/spell/sspellimp.cxx | 4 ++-- lingucomponent/source/thesaurus/libnth/nthesimp.cxx | 4 ++-- 5 files changed, 26 insertions(+), 5 deletions(-)
New commits: commit 012bdc381f1ee36a1ee1157c1821fdeb49066078 Author: László Németh <nem...@numbertext.org> Date: Tue Jul 15 14:11:34 2014 +0200 fdo#80363 always use WIN32 long path prefix with Hunspell, MyThes, Hyphen Change-Id: I738401babffd38c241ef16e23d1b246444fd8d55 Reviewed-on: https://gerrit.libreoffice.org/10333 Reviewed-by: David Tardon <dtar...@redhat.com> Reviewed-by: Matúš Kukan <matus.ku...@collabora.com> Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> Tested-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> diff --git a/lingucomponent/source/hyphenator/hyphen/hyphenimp.cxx b/lingucomponent/source/hyphenator/hyphen/hyphenimp.cxx index 72fd23d..b8b9979 100644 --- a/lingucomponent/source/hyphenator/hyphen/hyphenimp.cxx +++ b/lingucomponent/source/hyphenator/hyphen/hyphenimp.cxx @@ -293,7 +293,7 @@ Reference< XHyphenatedWord > SAL_CALL Hyphenator::hyphenate( const OUString& aWo #if defined(WNT) // Hyphen waits UTF-8 encoded paths with \\?\ long path prefix. - OString sTmp = OUStringToOString(dictpath, RTL_TEXTENCODING_UTF8); + OString sTmp = Win_AddLongPathPrefix(OUStringToOString(dictpath, RTL_TEXTENCODING_UTF8)); #else OString sTmp( OU2ENC( dictpath, osl_getThreadTextEncoding() ) ); #endif diff --git a/lingucomponent/source/lingutil/lingutil.cxx b/lingucomponent/source/lingutil/lingutil.cxx index 769a023..c384a5b 100644 --- a/lingucomponent/source/lingutil/lingutil.cxx +++ b/lingucomponent/source/lingutil/lingutil.cxx @@ -17,6 +17,10 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ +#if defined(WNT) +#include <windows.h> +#endif + #include <osl/thread.h> #include <osl/file.hxx> #include <tools/debug.hxx> @@ -41,6 +45,15 @@ using ::com::sun::star::lang::Locale; using namespace ::com::sun::star; +#if defined(WNT) +OString Win_AddLongPathPrefix( const OString &rPathName ) +{ +#define WIN32_LONG_PATH_PREFIX "\\\\?\\" + if (!rPathName.match(WIN32_LONG_PATH_PREFIX)) return WIN32_LONG_PATH_PREFIX + rPathName; + return rPathName; +} +#endif //defined(WNT) + // build list of old style diuctionaries (not as extensions) to use. // User installed dictionaries (the ones residing in the user paths) // will get precedence over system installed ones for the same language. diff --git a/lingucomponent/source/lingutil/lingutil.hxx b/lingucomponent/source/lingutil/lingutil.hxx index bda6de1..a54832c 100644 --- a/lingucomponent/source/lingutil/lingutil.hxx +++ b/lingucomponent/source/lingutil/lingutil.hxx @@ -48,6 +48,14 @@ inline bool operator == ( const ::com::sun::star::lang::Locale &rL1, const ::com rL1.Variant == rL2.Variant; } +#if defined(WNT) + +// to be use to get a path name with long path prefix +// under Windows for Hunspell, Hyphen and MyThes libraries +OString Win_AddLongPathPrefix( const OString &rPathName ); +#endif + + // temporary function, to be removed when new style dictionaries // using configuration entries are fully implemented and provided std::vector< SvtLinguConfigDictionaryEntry > GetOldStyleDics( const char * pDicType ); diff --git a/lingucomponent/source/spellcheck/spell/sspellimp.cxx b/lingucomponent/source/spellcheck/spell/sspellimp.cxx index 8881816..078f9da 100644 --- a/lingucomponent/source/spellcheck/spell/sspellimp.cxx +++ b/lingucomponent/source/spellcheck/spell/sspellimp.cxx @@ -306,8 +306,8 @@ sal_Int16 SpellChecker::GetSpellFailure( const OUString &rWord, const Locale &rL // about 120+ characters which will usually be exceed when // using dictionaries as extensions. (Hunspell waits UTF-8 encoded // path with \\?\ long path prefix.) - OString aTmpaff = OUStringToOString(aff, RTL_TEXTENCODING_UTF8); - OString aTmpdict = OUStringToOString(dict, RTL_TEXTENCODING_UTF8); + OString aTmpaff = Win_AddLongPathPrefix(OUStringToOString(aff, RTL_TEXTENCODING_UTF8)); + OString aTmpdict = Win_AddLongPathPrefix(OUStringToOString(dict, RTL_TEXTENCODING_UTF8)); #else OString aTmpaff(OU2ENC(aff,osl_getThreadTextEncoding())); OString aTmpdict(OU2ENC(dict,osl_getThreadTextEncoding())); diff --git a/lingucomponent/source/thesaurus/libnth/nthesimp.cxx b/lingucomponent/source/thesaurus/libnth/nthesimp.cxx index 73d0542..994f28a 100644 --- a/lingucomponent/source/thesaurus/libnth/nthesimp.cxx +++ b/lingucomponent/source/thesaurus/libnth/nthesimp.cxx @@ -331,8 +331,8 @@ Sequence < Reference < ::com::sun::star::linguistic2::XMeaning > > SAL_CALL Thes #if defined(WNT) // MyThes waits UTF-8 encoded paths with \\?\ long path prefix. - OString aTmpidx = OUStringToOString(nidx, RTL_TEXTENCODING_UTF8); - OString aTmpdat = OUStringToOString(ndat, RTL_TEXTENCODING_UTF8); + OString aTmpidx = Win_AddLongPathPrefix(OUStringToOString(nidx, RTL_TEXTENCODING_UTF8)); + OString aTmpdat = Win_AddLongPathPrefix(OUStringToOString(ndat, RTL_TEXTENCODING_UTF8)); #else OString aTmpidx(OU2ENC(nidx,osl_getThreadTextEncoding())); OString aTmpdat(OU2ENC(ndat,osl_getThreadTextEncoding()));
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits