commit 6a0626aaa09a87200258dbf6161fde44722c763e
parent 24884671ec7874b2fbaf3075c532ef4d166150d7
Author: Makoto Kato <m_kato@ga2.so-net.ne.jp>
Date: Thu, 25 Dec 2025 08:29:26 +0000
Bug 2007623 - Clean up unused binding functions in unic-langid-ffi. r=platform-i18n-reviewers,dminor
Differential Revision: https://phabricator.services.mozilla.com/D277488
Diffstat:
4 files changed, 1 insertion(+), 130 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
@@ -7311,7 +7311,6 @@ name = "unic-langid-ffi"
version = "0.1.0"
dependencies = [
"nsstring",
- "thin-vec",
"unic-langid",
]
diff --git a/intl/locale/rust/unic-langid-ffi/Cargo.toml b/intl/locale/rust/unic-langid-ffi/Cargo.toml
@@ -7,5 +7,4 @@ edition = "2018"
[dependencies]
nsstring = { path = "../../../../xpcom/rust/nsstring" }
-thin-vec = { version = "0.2.1", features = ["gecko-ffi"] }
unic-langid = { version = "0.9", features = ["likelysubtags"] }
diff --git a/intl/locale/rust/unic-langid-ffi/cbindgen.toml b/intl/locale/rust/unic-langid-ffi/cbindgen.toml
@@ -16,7 +16,3 @@ namespaces = ["mozilla", "intl", "ffi"]
[parse]
parse_deps = true
include = ["unic-langid", "unic-langid-impl"]
-
-[export.rename]
-"ThinVec" = "nsTArray"
-"nsCStr" = "nsDependentCSubstring"
diff --git a/intl/locale/rust/unic-langid-ffi/src/lib.rs b/intl/locale/rust/unic-langid-ffi/src/lib.rs
@@ -2,8 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
-use nsstring::{nsACString, nsCStr, nsCString};
-use thin_vec::ThinVec;
+use nsstring::nsACString;
pub use unic_langid::{subtags, CharacterDirection, LanguageIdentifier, LanguageIdentifierError};
pub fn new_langid_for_mozilla(
@@ -33,133 +32,11 @@ pub extern "C" fn unic_langid_canonicalize(name: &mut nsACString) -> bool {
}
#[no_mangle]
-pub extern "C" fn unic_langid_new(
- name: &nsACString,
- ret_val: &mut bool,
-) -> *mut LanguageIdentifier {
- let langid = new_langid_for_mozilla(name);
-
- *ret_val = langid.is_ok();
- Box::into_raw(Box::new(langid.unwrap_or_default()))
-}
-
-#[no_mangle]
pub unsafe extern "C" fn unic_langid_destroy(langid: *mut LanguageIdentifier) {
let _ = Box::from_raw(langid);
}
#[no_mangle]
-pub extern "C" fn unic_langid_as_string(langid: &mut LanguageIdentifier, ret_val: &mut nsACString) {
- ret_val.assign(&langid.to_string());
-}
-
-#[no_mangle]
-pub extern "C" fn unic_langid_get_language<'a>(
- langid: &'a LanguageIdentifier,
- out: &mut nsCStr<'a>,
-) {
- *out = nsCStr::from(langid.language.as_str());
-}
-
-#[no_mangle]
-pub extern "C" fn unic_langid_set_language(
- langid: &mut LanguageIdentifier,
- string: &nsACString,
-) -> bool {
- subtags::Language::from_bytes(string)
- .map(|lang| langid.language = lang)
- .is_ok()
-}
-
-#[no_mangle]
-pub extern "C" fn unic_langid_clear_language(langid: &mut LanguageIdentifier) {
- langid.language.clear()
-}
-
-#[no_mangle]
-pub extern "C" fn unic_langid_get_script<'a>(langid: &'a LanguageIdentifier, out: &mut nsCStr<'a>) {
- *out = nsCStr::from(langid.script.as_ref().map_or("", |s| s.as_str()));
-}
-
-#[no_mangle]
-pub extern "C" fn unic_langid_set_script(
- langid: &mut LanguageIdentifier,
- string: &nsACString,
-) -> bool {
- subtags::Script::from_bytes(string)
- .map(|script| langid.script = Some(script))
- .is_ok()
-}
-
-#[no_mangle]
-pub extern "C" fn unic_langid_clear_script(langid: &mut LanguageIdentifier) {
- langid.script = None;
-}
-
-#[no_mangle]
-pub extern "C" fn unic_langid_get_region<'a>(langid: &'a LanguageIdentifier, out: &mut nsCStr<'a>) {
- *out = nsCStr::from(langid.region.as_ref().map_or("", |s| s.as_str()));
-}
-
-#[no_mangle]
-pub extern "C" fn unic_langid_set_region(
- langid: &mut LanguageIdentifier,
- string: &nsACString,
-) -> bool {
- subtags::Region::from_bytes(string)
- .map(|region| langid.region = Some(region))
- .is_ok()
-}
-
-#[no_mangle]
-pub extern "C" fn unic_langid_clear_region(langid: &mut LanguageIdentifier) {
- langid.region = None;
-}
-
-#[no_mangle]
-pub extern "C" fn unic_langid_get_variants(
- langid: &LanguageIdentifier,
- variants: &mut ThinVec<nsCString>,
-) {
- for v in langid.variants() {
- variants.push(v.as_str().into());
- }
-}
-
-#[no_mangle]
-pub extern "C" fn unic_langid_set_variants(
- langid: &mut LanguageIdentifier,
- variants: &ThinVec<nsCString>,
-) -> bool {
- variants
- .iter()
- .map(|v| subtags::Variant::from_bytes(v))
- .collect::<Result<Vec<_>, _>>()
- .map(|variants| langid.set_variants(&variants))
- .is_ok()
-}
-
-#[no_mangle]
-pub extern "C" fn unic_langid_clear_variants(langid: &mut LanguageIdentifier) {
- langid.clear_variants()
-}
-
-#[no_mangle]
-pub extern "C" fn unic_langid_matches(
- langid: &LanguageIdentifier,
- other: &LanguageIdentifier,
- self_as_range: bool,
- other_as_range: bool,
-) -> bool {
- langid.matches(other, self_as_range, other_as_range)
-}
-
-#[no_mangle]
-pub extern "C" fn unic_langid_maximize(langid: &mut LanguageIdentifier) -> bool {
- langid.maximize()
-}
-
-#[no_mangle]
pub extern "C" fn unic_langid_is_rtl(name: &nsACString) -> bool {
match new_langid_for_mozilla(name) {
Ok(langid) => langid.character_direction() == CharacterDirection::RTL,