summaryrefslogtreecommitdiff
path: root/i18npool/source
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2012-08-11 12:50:11 +0200
committerEike Rathke <erack@redhat.com>2012-08-11 13:41:26 +0200
commitd724f64703eaa0b0595fc4983e42875f2b439e88 (patch)
tree6147a4051d32cc7eb24c1990263feb814244113f /i18npool/source
parent15e7f34a2134b1a4d892f4e4d945b9cb547202ac (diff)
langtag: pass system path as data path instead of file URL
Diffstat (limited to 'i18npool/source')
-rw-r--r--i18npool/source/languagetag/languagetag.cxx14
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