diff options
author | Eike Rathke <erack@redhat.com> | 2012-11-09 14:02:55 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2012-11-09 14:09:33 +0100 |
commit | 22f4062b88ea61ceecc2cf83c27969a091620fb7 (patch) | |
tree | fa7e00beaeb80f524ce7ae47af9931cc72a5d4a6 /i18npool/source | |
parent | 5a32d167da40d9f95a1dd86873e4b569986f8b12 (diff) |
ensure lt_error_t is free'd and enable SAL_WARN/INFO again
Change-Id: Ida7914d7301c16ed1771be3d874c716c8fbaf8b4
Diffstat (limited to 'i18npool/source')
-rw-r--r-- | i18npool/source/languagetag/languagetag.cxx | 31 |
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; |