Skip to content

Commit 4be6936

Browse files
committed
Remove obsolete "encoding" dependency
Signed-off-by: Manos Pitsidianakis <[email protected]>
1 parent 9b7825b commit 4be6936

File tree

4 files changed

+26
-100
lines changed

4 files changed

+26
-100
lines changed

Cargo.lock

Lines changed: 0 additions & 65 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

melib/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ bitflags = { version = "2.4", features = ["serde"] }
2525
cfg-if = { version = "^1.0.0" }
2626
chrono = { version = "^0.4", default-features = false }
2727
data-encoding = { version = "2.1.1" }
28-
encoding = { version = "0.2.33", default-features = false }
2928
encoding_rs = { version = "^0.8" }
3029
flate2 = { version = "1.0.16" }
3130
futures = { version = "0.3.30", default-features = false, features = ["async-await", "executor", "std"] }

melib/src/email/parser.rs

Lines changed: 26 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2030,7 +2030,7 @@ pub mod attachments {
20302030
pub mod encodings {
20312031
//! Email encodings (quoted printable, `MIME`).
20322032
use data_encoding::BASE64_MIME;
2033-
use encoding::{all::*, DecoderTrap, Encoding};
2033+
use encoding_rs::*;
20342034

20352035
use super::*;
20362036
use crate::email::attachment_types::Charset;
@@ -2166,38 +2166,31 @@ pub mod encodings {
21662166
pub fn decode_charset(s: &[u8], charset: Charset) -> Result<String> {
21672167
match charset {
21682168
Charset::UTF8 | Charset::Ascii => Ok(String::from_utf8_lossy(s).to_string()),
2169-
Charset::ISO8859_1 => Ok(ISO_8859_1.decode(s, DecoderTrap::Strict)?),
2170-
Charset::ISO8859_2 => Ok(ISO_8859_2.decode(s, DecoderTrap::Strict)?),
2171-
Charset::ISO8859_3 => Ok(ISO_8859_3.decode(s, DecoderTrap::Strict)?),
2172-
Charset::ISO8859_4 => Ok(ISO_8859_4.decode(s, DecoderTrap::Strict)?),
2173-
Charset::ISO8859_5 => Ok(ISO_8859_5.decode(s, DecoderTrap::Strict)?),
2174-
Charset::ISO8859_6 => Ok(ISO_8859_6.decode(s, DecoderTrap::Strict)?),
2175-
Charset::ISO8859_7 => Ok(ISO_8859_7.decode(s, DecoderTrap::Strict)?),
2176-
Charset::ISO8859_8 => Ok(ISO_8859_8.decode(s, DecoderTrap::Strict)?),
2177-
Charset::ISO8859_10 => Ok(ISO_8859_10.decode(s, DecoderTrap::Strict)?),
2178-
Charset::ISO8859_13 => Ok(ISO_8859_13.decode(s, DecoderTrap::Strict)?),
2179-
Charset::ISO8859_14 => Ok(ISO_8859_14.decode(s, DecoderTrap::Strict)?),
2180-
Charset::ISO8859_15 => Ok(ISO_8859_15.decode(s, DecoderTrap::Strict)?),
2181-
Charset::ISO8859_16 => Ok(ISO_8859_16.decode(s, DecoderTrap::Strict)?),
2182-
Charset::GBK => Ok(GBK.decode(s, DecoderTrap::Strict)?),
2183-
Charset::Windows1250 => Ok(WINDOWS_1250.decode(s, DecoderTrap::Strict)?),
2184-
Charset::Windows1251 => Ok(WINDOWS_1251.decode(s, DecoderTrap::Strict)?),
2185-
Charset::Windows1252 => Ok(WINDOWS_1252.decode(s, DecoderTrap::Strict)?),
2186-
Charset::Windows1253 => Ok(WINDOWS_1253.decode(s, DecoderTrap::Strict)?),
2187-
Charset::KOI8R => Ok(KOI8_R.decode(s, DecoderTrap::Strict)?),
2188-
Charset::KOI8U => Ok(KOI8_U.decode(s, DecoderTrap::Strict)?),
2189-
Charset::BIG5 => Ok(BIG5_2003.decode(s, DecoderTrap::Strict)?),
2190-
Charset::GB2312 => {
2191-
Ok(encoding::codec::simpchinese::GBK_ENCODING.decode(s, DecoderTrap::Strict)?)
2192-
}
2193-
Charset::GB18030 => Ok(
2194-
encoding::codec::simpchinese::GB18030_ENCODING.decode(s, DecoderTrap::Strict)?
2195-
),
2196-
Charset::UTF16 => {
2197-
Ok(encoding::codec::utf_16::UTF_16LE_ENCODING.decode(s, DecoderTrap::Strict)?)
2198-
}
2199-
Charset::ISO2022JP => Ok(ISO_2022_JP.decode(s, DecoderTrap::Strict)?),
2200-
Charset::EUCJP => Ok(EUC_JP.decode(s, DecoderTrap::Strict)?),
2169+
Charset::ISO8859_2 => Ok(ISO_8859_2.decode(s).0.to_string()),
2170+
Charset::ISO8859_3 => Ok(ISO_8859_3.decode(s).0.to_string()),
2171+
Charset::ISO8859_4 => Ok(ISO_8859_4.decode(s).0.to_string()),
2172+
Charset::ISO8859_5 => Ok(ISO_8859_5.decode(s).0.to_string()),
2173+
Charset::ISO8859_6 => Ok(ISO_8859_6.decode(s).0.to_string()),
2174+
Charset::ISO8859_7 => Ok(ISO_8859_7.decode(s).0.to_string()),
2175+
Charset::ISO8859_8 => Ok(ISO_8859_8.decode(s).0.to_string()),
2176+
Charset::ISO8859_10 => Ok(ISO_8859_10.decode(s).0.to_string()),
2177+
Charset::ISO8859_13 => Ok(ISO_8859_13.decode(s).0.to_string()),
2178+
Charset::ISO8859_14 => Ok(ISO_8859_14.decode(s).0.to_string()),
2179+
Charset::ISO8859_15 => Ok(ISO_8859_15.decode(s).0.to_string()),
2180+
Charset::ISO8859_16 => Ok(ISO_8859_16.decode(s).0.to_string()),
2181+
Charset::GBK => Ok(GBK.decode(s).0.to_string()),
2182+
Charset::Windows1250 => Ok(WINDOWS_1250.decode(s).0.to_string()),
2183+
Charset::Windows1251 => Ok(WINDOWS_1251.decode(s).0.to_string()),
2184+
Charset::ISO8859_1 | Charset::Windows1252 => Ok(WINDOWS_1252.decode(s).0.to_string()),
2185+
Charset::Windows1253 => Ok(WINDOWS_1253.decode(s).0.to_string()),
2186+
Charset::KOI8R => Ok(KOI8_R.decode(s).0.to_string()),
2187+
Charset::KOI8U => Ok(KOI8_U.decode(s).0.to_string()),
2188+
Charset::BIG5 => Ok(BIG5.decode(s).0.to_string()),
2189+
Charset::GB2312 => Ok(GBK.decode(s).0.to_string()),
2190+
Charset::GB18030 => Ok(GB18030.decode(s).0.to_string()),
2191+
Charset::UTF16 => Ok(UTF_16LE.decode(s).0.to_string()),
2192+
Charset::ISO2022JP => Ok(ISO_2022_JP.decode(s).0.to_string()),
2193+
Charset::EUCJP => Ok(EUC_JP.decode(s).0.to_string()),
22012194
}
22022195
}
22032196

melib/src/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,6 @@ extern crate serde_derive;
183183
pub extern crate log;
184184
/* parser */
185185
extern crate data_encoding;
186-
extern crate encoding;
187186
pub extern crate nom;
188187

189188
#[macro_use]

0 commit comments

Comments
 (0)