summaryrefslogtreecommitdiff
path: root/i18npool
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2012-11-09 14:02:55 +0100
committerEike Rathke <erack@redhat.com>2012-11-09 14:09:33 +0100
commit22f4062b88ea61ceecc2cf83c27969a091620fb7 (patch)
treefa7e00beaeb80f524ce7ae47af9931cc72a5d4a6 /i18npool
parent5a32d167da40d9f95a1dd86873e4b569986f8b12 (diff)
ensure lt_error_t is free'd and enable SAL_WARN/INFO again
Change-Id: Ida7914d7301c16ed1771be3d874c716c8fbaf8b4
Diffstat (limited to 'i18npool')
-rw-r--r--i18npool/source/languagetag/languagetag.cxx31
1 files changed, 13 insertions, 18 deletions
diff --git a/i18npool/source/languagetag/languagetag.cxx b/i18npool/source/languagetag/languagetag.cxx
index bc700bd2a4cf..0a7e8933b65f 100644
--- a/i18npool/source/languagetag/languagetag.cxx
+++ b/i18npool/source/languagetag/languagetag.cxx
@@ -298,15 +298,18 @@ bool LanguageTag::canonicalize() const
if (!mpImplLangtag)
mpImplLangtag = lt_tag_new();
- lt_error_t *pError;
+ // ensure error is free'd
+ struct myerror
+ {
+ lt_error_t* p;
+ myerror() : p(NULL) {}
+ ~myerror() { if (p) lt_error_unref( p); }
+ } aError;
- if (lt_tag_parse( MPLANGTAG, OUStringToOString( maBcp47, RTL_TEXTENCODING_UTF8).getStr(), &pError))
+ if (lt_tag_parse( MPLANGTAG, OUStringToOString( maBcp47, RTL_TEXTENCODING_UTF8).getStr(), &aError.p))
{
- char* pTag = lt_tag_canonicalize( MPLANGTAG, &pError);
-#if 0
- SAL_WARN_IF( !pTag || lt_error_is_set(pError), "i18npool.langtag", "LanguageTag::canonicalize: could not canonicalize, " <<
- (lt_error_is_set(pError) ? pError->message : ""));
-#endif
+ char* pTag = lt_tag_canonicalize( MPLANGTAG, &aError.p);
+ SAL_WARN_IF( !pTag, "i18npool.langtag", "LanguageTag::canonicalize: could not canonicalize " << maBcp47);
if (pTag)
{
OUString aOld( maBcp47);
@@ -315,12 +318,9 @@ bool LanguageTag::canonicalize() const
// removes default script and such.
if (maBcp47 != aOld)
{
- if (!lt_tag_parse( MPLANGTAG, pTag, &pError))
+ if (!lt_tag_parse( MPLANGTAG, pTag, &aError.p))
{
-#if 0
- SAL_WARN( "i18npool.langtag", "LanguageTag::canonicalize: could not reparse, " <<
- (lt_error_is_set(pError) ? pError->message : ""));
-#endif
+ SAL_WARN( "i18npool.langtag", "LanguageTag::canonicalize: could not reparse " << maBcp47);
free( pTag);
meIsValid = DECISION_NO;
return false;
@@ -333,12 +333,7 @@ bool LanguageTag::canonicalize() const
}
else
{
-#if 0
- SAL_INFO(
- "i18npool.langtag",
- "LanguageTag::canonicalize " << maBcp47 << ": could not parse, "
- << (lt_error_is_set(pError) ? pError->message : ""));
-#endif
+ SAL_INFO( "i18npool.langtag", "LanguageTag::canonicalize: could not parse " << maBcp47);
}
meIsValid = DECISION_NO;
return false;