From 76a91111e95bfc085ccda1f03b0330f875065120 Mon Sep 17 00:00:00 2001 From: Henry Schimke Date: Sun, 16 Oct 2022 13:33:21 -0500 Subject: [PATCH] move to EncodingRef --- src/aztec/decoder.rs | 2 +- src/aztec/encoder/encoder.rs | 4 ++-- src/aztec/encoder/high_level_encoder.rs | 4 ++-- src/common/StringUtilsTestCase.rs | 4 ++-- src/common/mod.rs | 6 +++--- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/aztec/decoder.rs b/src/aztec/decoder.rs index fb49080..9c4c7bc 100644 --- a/src/aztec/decoder.rs +++ b/src/aztec/decoder.rs @@ -118,7 +118,7 @@ fn get_encoded_data(corrected_bits: &[bool]) -> Result { // when character encoding changes (ECI) or input ends. let mut decoded_bytes: Vec = Vec::new(); // let mut encdr: &'static dyn encoding::Encoding = encoding::all::UTF_8; - let mut encdr: &'static dyn encoding::Encoding = encoding::all::ISO_8859_1; + let mut encdr: encoding::EncodingRef = encoding::all::ISO_8859_1; let mut index = 0; diff --git a/src/aztec/encoder/encoder.rs b/src/aztec/encoder/encoder.rs index 07689bc..c3ba80f 100644 --- a/src/aztec/encoder/encoder.rs +++ b/src/aztec/encoder/encoder.rs @@ -93,7 +93,7 @@ pub fn encode_with_charset( data: &str, minECCPercent: u32, userSpecifiedLayers: i32, - charset: &'static dyn encoding::Encoding, + charset: encoding::EncodingRef, ) -> Result { let bytes = charset .encode(data, encoding::EncoderTrap::Strict) @@ -148,7 +148,7 @@ pub fn encode_bytes_with_charset( data: &[u8], min_eccpercent: u32, user_specified_layers: i32, - charset: &'static dyn encoding::Encoding, + charset: encoding::EncodingRef, ) -> Result { // High-level encode let bits = HighLevelEncoder::with_charset(data.into(), charset).encode()?; diff --git a/src/aztec/encoder/high_level_encoder.rs b/src/aztec/encoder/high_level_encoder.rs index da73602..766c0fa 100644 --- a/src/aztec/encoder/high_level_encoder.rs +++ b/src/aztec/encoder/high_level_encoder.rs @@ -37,7 +37,7 @@ use super::{State, Token}; */ pub struct HighLevelEncoder { text: Vec, - charset: &'static dyn encoding::Encoding, + charset: encoding::EncodingRef, } impl HighLevelEncoder { @@ -235,7 +235,7 @@ impl HighLevelEncoder { } } - pub fn with_charset(text: Vec, charset: &'static dyn encoding::Encoding) -> Self { + pub fn with_charset(text: Vec, charset: encoding::EncodingRef) -> Self { Self { text, charset } } diff --git a/src/common/StringUtilsTestCase.rs b/src/common/StringUtilsTestCase.rs index d2de728..4148b4f 100644 --- a/src/common/StringUtilsTestCase.rs +++ b/src/common/StringUtilsTestCase.rs @@ -23,7 +23,7 @@ // import java.nio.charset.StandardCharsets; // import java.util.Random; -use encoding::Encoding; +use encoding::{Encoding, EncodingRef}; use rand::Rng; use std::collections::HashMap; @@ -102,7 +102,7 @@ fn test_utf16_le() { ); } -fn do_test(bytes: &Vec, charset: &dyn Encoding, encoding: &str) { +fn do_test(bytes: &Vec, charset: EncodingRef, encoding: &str) { let guessedCharset = StringUtils::guessCharset(bytes, &HashMap::new()); let guessedEncoding = StringUtils::guessEncoding(bytes, &HashMap::new()); assert_eq!(charset.name(), guessedCharset.name()); diff --git a/src/common/mod.rs b/src/common/mod.rs index aa2e9b0..c79122b 100644 --- a/src/common/mod.rs +++ b/src/common/mod.rs @@ -129,7 +129,7 @@ impl StringUtils { * or the platform default encoding if * none of these can possibly be correct */ - pub fn guessCharset(bytes: &[u8], hints: &DecodingHintDictionary) -> &'static dyn Encoding { + pub fn guessCharset(bytes: &[u8], hints: &DecodingHintDictionary) -> EncodingRef { match hints.get(&DecodeHintType::CHARACTER_SET) { Some(hint) => { if let DecodeHintValue::CharacterSet(cs_name) = hint { @@ -2565,7 +2565,7 @@ impl CharacterSetECI { * @return CharacterSetECI representing ECI for character encoding, or null if it is legal * but unsupported */ - pub fn getCharacterSetECI(charset: &'static dyn Encoding) -> Option { + pub fn getCharacterSetECI(charset: EncodingRef) -> Option { let name = if let Some(nm) = charset.whatwg_name() { nm } else { @@ -2712,7 +2712,7 @@ impl CharacterSetECI { pub struct ECIStringBuilder { current_bytes: Vec, result: String, - current_charset: &'static dyn Encoding, //= StandardCharsets.ISO_8859_1; + current_charset: EncodingRef, //= StandardCharsets.ISO_8859_1; } impl ECIStringBuilder {