Kaydet (Commit) 6e02f49a authored tarafından Fridrich Štrba's avatar Fridrich Štrba

Adapting to liblangtag 0.4.0

Change-Id: Ie70a38a1481a280760a435f4809020ed5a327627
üst 2254f502
...@@ -285,14 +285,6 @@ bool LanguageTag::canonicalize() const ...@@ -285,14 +285,6 @@ bool LanguageTag::canonicalize() const
dumper aDumper( &mpImplLangtag); dumper aDumper( &mpImplLangtag);
#endif #endif
// g_error_free() mocks about NULL, so ...
struct myerror
{
GError* p;
myerror() : p(NULL) {}
~myerror() { if (p) g_error_free( p); }
} aError;
getBcp47(); // side effect: have maBcp47 in any case getBcp47(); // side effect: have maBcp47 in any case
// Checking empty for system locale before having allocated mpImplLangtag // Checking empty for system locale before having allocated mpImplLangtag
// may result in multiple calls of this method because that serves as flag // may result in multiple calls of this method because that serves as flag
...@@ -305,11 +297,16 @@ bool LanguageTag::canonicalize() const ...@@ -305,11 +297,16 @@ bool LanguageTag::canonicalize() const
} }
if (!mpImplLangtag) if (!mpImplLangtag)
mpImplLangtag = lt_tag_new(); mpImplLangtag = lt_tag_new();
if (lt_tag_parse( MPLANGTAG, OUStringToOString( maBcp47, RTL_TEXTENCODING_UTF8).getStr(), &aError.p))
lt_error_t *pError;
if (lt_tag_parse( MPLANGTAG, OUStringToOString( maBcp47, RTL_TEXTENCODING_UTF8).getStr(), &pError))
{ {
gchar* pTag = lt_tag_canonicalize( MPLANGTAG, &aError.p); char* pTag = lt_tag_canonicalize( MPLANGTAG, &pError);
SAL_WARN_IF( !pTag || aError.p, "i18npool.langtag", "LanguageTag::canonicalize: could not canonicalize, " << #if 0
(aError.p ? aError.p->message : "")); SAL_WARN_IF( !pTag || lt_error_is_set(pError), "i18npool.langtag", "LanguageTag::canonicalize: could not canonicalize, " <<
(lt_error_is_set(pError) ? pError->message : ""));
#endif
if (pTag) if (pTag)
{ {
OUString aOld( maBcp47); OUString aOld( maBcp47);
...@@ -318,26 +315,30 @@ bool LanguageTag::canonicalize() const ...@@ -318,26 +315,30 @@ bool LanguageTag::canonicalize() const
// removes default script and such. // removes default script and such.
if (maBcp47 != aOld) if (maBcp47 != aOld)
{ {
if (!lt_tag_parse( MPLANGTAG, pTag, &aError.p)) if (!lt_tag_parse( MPLANGTAG, pTag, &pError))
{ {
#if 0
SAL_WARN( "i18npool.langtag", "LanguageTag::canonicalize: could not reparse, " << SAL_WARN( "i18npool.langtag", "LanguageTag::canonicalize: could not reparse, " <<
(aError.p ? aError.p->message : "")); (lt_error_is_set(pError) ? pError->message : ""));
g_free( pTag); #endif
free( pTag);
meIsValid = DECISION_NO; meIsValid = DECISION_NO;
return false; return false;
} }
} }
g_free( pTag); free( pTag);
meIsValid = DECISION_YES; meIsValid = DECISION_YES;
return true; return true;
} }
} }
else else
{ {
#if 0
SAL_INFO( SAL_INFO(
"i18npool.langtag", "i18npool.langtag",
"LanguageTag::canonicalize " << maBcp47 << ": could not parse, " "LanguageTag::canonicalize " << maBcp47 << ": could not parse, "
<< (aError.p ? aError.p->message : "")); << (lt_error_is_set(pError) ? pError->message : ""));
#endif
} }
meIsValid = DECISION_NO; meIsValid = DECISION_NO;
return false; return false;
...@@ -472,7 +473,7 @@ rtl::OUString LanguageTag::getLanguageFromLangtag() const ...@@ -472,7 +473,7 @@ rtl::OUString LanguageTag::getLanguageFromLangtag() const
SAL_WARN_IF( !pLangT, "i18npool.langtag", "LanguageTag::getLanguageFromLangtag: pLangT==NULL"); SAL_WARN_IF( !pLangT, "i18npool.langtag", "LanguageTag::getLanguageFromLangtag: pLangT==NULL");
if (!pLangT) if (!pLangT)
return aLanguage; return aLanguage;
const gchar* pLang = lt_lang_get_tag( pLangT); const char* pLang = lt_lang_get_tag( pLangT);
SAL_WARN_IF( !pLang, "i18npool.langtag", "LanguageTag::getLanguageFromLangtag: pLang==NULL"); SAL_WARN_IF( !pLang, "i18npool.langtag", "LanguageTag::getLanguageFromLangtag: pLang==NULL");
if (pLang) if (pLang)
aLanguage = OUString::createFromAscii( pLang); aLanguage = OUString::createFromAscii( pLang);
...@@ -491,7 +492,7 @@ rtl::OUString LanguageTag::getScriptFromLangtag() const ...@@ -491,7 +492,7 @@ rtl::OUString LanguageTag::getScriptFromLangtag() const
// pScriptT==NULL is valid for default scripts // pScriptT==NULL is valid for default scripts
if (!pScriptT) if (!pScriptT)
return aScript; return aScript;
const gchar* pScript = lt_script_get_tag( pScriptT); const char* pScript = lt_script_get_tag( pScriptT);
SAL_WARN_IF( !pScript, "i18npool.langtag", "LanguageTag::getScriptFromLangtag: pScript==NULL"); SAL_WARN_IF( !pScript, "i18npool.langtag", "LanguageTag::getScriptFromLangtag: pScript==NULL");
if (pScript) if (pScript)
aScript = OUString::createFromAscii( pScript); aScript = OUString::createFromAscii( pScript);
...@@ -510,7 +511,7 @@ rtl::OUString LanguageTag::getRegionFromLangtag() const ...@@ -510,7 +511,7 @@ rtl::OUString LanguageTag::getRegionFromLangtag() const
SAL_WARN_IF( !pRegionT, "i18npool.langtag", "LanguageTag::getRegionFromLangtag: pRegionT==NULL"); SAL_WARN_IF( !pRegionT, "i18npool.langtag", "LanguageTag::getRegionFromLangtag: pRegionT==NULL");
if (!pRegionT) if (!pRegionT)
return aRegion; return aRegion;
const gchar* pRegion = lt_region_get_tag( pRegionT); const char* pRegion = lt_region_get_tag( pRegionT);
SAL_WARN_IF( !pRegion, "i18npool.langtag", "LanguageTag::getRegionFromLangtag: pRegion==NULL"); SAL_WARN_IF( !pRegion, "i18npool.langtag", "LanguageTag::getRegionFromLangtag: pRegion==NULL");
if (pRegion) if (pRegion)
aRegion = OUString::createFromAscii( pRegion); aRegion = OUString::createFromAscii( pRegion);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment