diff options
author | Eike Rathke <erack@redhat.com> | 2012-08-11 12:50:11 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2012-08-11 13:41:26 +0200 |
commit | d724f64703eaa0b0595fc4983e42875f2b439e88 (patch) | |
tree | 6147a4051d32cc7eb24c1990263feb814244113f /i18npool/source | |
parent | 15e7f34a2134b1a4d892f4e4d945b9cb547202ac (diff) |
langtag: pass system path as data path instead of file URL
Diffstat (limited to 'i18npool/source')
-rw-r--r-- | i18npool/source/languagetag/languagetag.cxx | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/i18npool/source/languagetag/languagetag.cxx b/i18npool/source/languagetag/languagetag.cxx index 41923742a2b1..68474d8907a6 100644 --- a/i18npool/source/languagetag/languagetag.cxx +++ b/i18npool/source/languagetag/languagetag.cxx @@ -113,19 +113,23 @@ void LiblantagDataRef::presetDataPath( const rtl::OUString& rPath ) void LiblantagDataRef::setupDataPath() { // maDataPath is assumed to be empty here. - OUString aPath; - if (!rtl::Bootstrap::get( "BRAND_BASE_DIR", aPath)) + OUString aURL; + if (!rtl::Bootstrap::get( "BRAND_BASE_DIR", aURL)) OSL_FAIL( "LiblantagDataRef: can't get BRAND_BASE_DIR"); else { // Check if data is in our own installation, else assume system // installation. - aPath += "/share/liblangtag"; - OUString aData( aPath); + aURL += "/share/liblangtag"; + OUString aData( aURL); aData += "/language-subtag-registry.xml"; osl::DirectoryItem aDirItem; if (osl::DirectoryItem::get( aData, aDirItem) == osl::DirectoryItem::E_None) - maDataPath = OUStringToOString( aPath, RTL_TEXTENCODING_UTF8); + { + OUString aPath; + if (osl::FileBase::getSystemPathFromFileURL( aURL, aPath) == osl::FileBase::E_None) + maDataPath = OUStringToOString( aPath, RTL_TEXTENCODING_UTF8); + } } if (maDataPath.isEmpty()) maDataPath = "|"; // assume system |