diff options
author | Eike Rathke <erack@redhat.com> | 2022-08-31 14:08:26 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2022-08-31 20:49:46 +0200 |
commit | 2c2e0568e89942cc8463c0da9aa7a3d177667178 (patch) | |
tree | 56eef8bd675da9b766dcc57bdc7c5181c05728b8 /i18nlangtag | |
parent | 08385a624cbcd6d3de3476c76511545d4034a931 (diff) |
Related: tdf#150370 Convert isValidBcp47() bool to enum LanguageTag::PrivateUse
... to prepare for more finegrained private-use control.
Change-Id: I118c3f5ee6e437435c07ed2cf699c4597e9cdf88
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139112
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
Diffstat (limited to 'i18nlangtag')
-rw-r--r-- | i18nlangtag/qa/cppunit/test_languagetag.cxx | 6 | ||||
-rw-r--r-- | i18nlangtag/source/languagetag/languagetag.cxx | 5 |
2 files changed, 6 insertions, 5 deletions
diff --git a/i18nlangtag/qa/cppunit/test_languagetag.cxx b/i18nlangtag/qa/cppunit/test_languagetag.cxx index 5b73b3cbf714..4a211012e80d 100644 --- a/i18nlangtag/qa/cppunit/test_languagetag.cxx +++ b/i18nlangtag/qa/cppunit/test_languagetag.cxx @@ -668,11 +668,11 @@ void TestLanguageTag::testAllTags() CPPUNIT_ASSERT( LanguageTag::isValidBcp47( "qaa", &aCanonicalized) ); CPPUNIT_ASSERT_EQUAL( OUString("qaa"), aCanonicalized ); CPPUNIT_ASSERT( !LanguageTag::isValidBcp47( "unreg-and-bad", &aCanonicalized) ); - CPPUNIT_ASSERT( LanguageTag::isValidBcp47( "en-US", &aCanonicalized, true) ); + CPPUNIT_ASSERT( LanguageTag::isValidBcp47( "en-US", &aCanonicalized, LanguageTag::PrivateUse::DISALLOW) ); CPPUNIT_ASSERT_EQUAL( OUString("en-US"), aCanonicalized ); - CPPUNIT_ASSERT( !LanguageTag::isValidBcp47( "x-foobar", &aCanonicalized, true) ); + CPPUNIT_ASSERT( !LanguageTag::isValidBcp47( "x-foobar", &aCanonicalized, LanguageTag::PrivateUse::DISALLOW) ); CPPUNIT_ASSERT_EQUAL( OUString("x-foobar"), aCanonicalized ); - CPPUNIT_ASSERT( LanguageTag::isValidBcp47( "qaa", &aCanonicalized, true) ); + CPPUNIT_ASSERT( LanguageTag::isValidBcp47( "qaa", &aCanonicalized, LanguageTag::PrivateUse::DISALLOW) ); CPPUNIT_ASSERT_EQUAL( OUString("qaa"), aCanonicalized ); CPPUNIT_ASSERT( LanguageTag::isValidBcp47( "de-Latn-DE", &aCanonicalized) ); CPPUNIT_ASSERT_EQUAL( OUString("de-DE"), aCanonicalized ); diff --git a/i18nlangtag/source/languagetag/languagetag.cxx b/i18nlangtag/source/languagetag/languagetag.cxx index 6d20c7304639..0b1ab1ac5a3e 100644 --- a/i18nlangtag/source/languagetag/languagetag.cxx +++ b/i18nlangtag/source/languagetag/languagetag.cxx @@ -2838,7 +2838,8 @@ LanguageType LanguageTag::convertToLanguageTypeWithFallback( const css::lang::Lo // static -bool LanguageTag::isValidBcp47( const OUString& rString, OUString* o_pCanonicalized, bool bDisallowPrivate ) +bool LanguageTag::isValidBcp47( const OUString& rString, OUString* o_pCanonicalized, + LanguageTag::PrivateUse ePrivateUse ) { bool bValid = false; @@ -2865,7 +2866,7 @@ bool LanguageTag::isValidBcp47( const OUString& rString, OUString* o_pCanonicali if (pTag) { bValid = true; - if (bDisallowPrivate) + if (ePrivateUse != PrivateUse::ALLOW) { const lt_string_t* pPrivate = lt_tag_get_privateuse( aVar.mpLangtag); if (pPrivate && lt_string_length( pPrivate) > 0) |