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 | |
parent | 15e7f34a2134b1a4d892f4e4d945b9cb547202ac (diff) |
langtag: pass system path as data path instead of file URL
Diffstat (limited to 'i18npool')
-rw-r--r-- | i18npool/qa/cppunit/test_languagetag.cxx | 6 | ||||
-rw-r--r-- | i18npool/source/languagetag/languagetag.cxx | 14 |
2 files changed, 13 insertions, 7 deletions
diff --git a/i18npool/qa/cppunit/test_languagetag.cxx b/i18npool/qa/cppunit/test_languagetag.cxx index fee5769f795c..c8a5f7c522b5 100644 --- a/i18npool/qa/cppunit/test_languagetag.cxx +++ b/i18npool/qa/cppunit/test_languagetag.cxx @@ -54,12 +54,14 @@ void TestLanguageTag::testInit() const char* pEnv = getenv("OUTDIR"); CPPUNIT_ASSERT_MESSAGE("No $OUTDIR", pEnv); aBuf.append( "file:///").append( OStringToOUString( pEnv, RTL_TEXTENCODING_UTF8)).append( "/share/liblangtag"); - OUString aPath( aBuf.makeStringAndClear()); - OUString aData( aPath); + OUString aURL( aBuf.makeStringAndClear()); + OUString aData( aURL); aData += "/language-subtag-registry.xml"; osl::DirectoryItem aDirItem; CPPUNIT_ASSERT_MESSAGE("liblangtag data not found", osl::DirectoryItem::get( aData, aDirItem) == osl::DirectoryItem::E_None); + OUString aPath; + CPPUNIT_ASSERT( osl::FileBase::getSystemPathFromFileURL( aURL, aPath) == osl::FileBase::E_None); LanguageTag::overrideDataPath( aPath); #endif } 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 |