build: update all crates to Rust 2024 edition

Largest change is in the FFI crate.
With 2024 (but not 2021) edition unsafe code
inside unsafe functions should be marked separately
so we can mark exactly the code that is unsafe.
Some CFFI functions even have no unsafe code inside.

Most interesting change is that .strdup()
functions are not marked as unsafe anymore.
They are allocating memory and return raw pointers,
but there is nothing unsafe about it.
Only using the returned raw pointers is unsafe.
This way calls to .strdup() don't have to be marked
with unsafe{} blocks.
This commit is contained in:
link2xt
2026-07-27 23:48:11 +00:00
committed by l
parent 00e1d00dfa
commit 2d7af15124
24 changed files with 977 additions and 1049 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
name = "format-flowed"
version = "1.0.0"
description = "format=flowed support"
edition = "2021"
edition = "2024"
license = "MPL-2.0"
keywords = ["email"]
+7 -9
View File
@@ -78,11 +78,11 @@ pub fn format_flowed(text: &str) -> String {
let mut prefix = prefix.to_string();
if quote_depth > 0 {
if let Some(s) = line.strip_prefix(' ') {
line = s;
prefix += " ";
}
if quote_depth > 0
&& let Some(s) = line.strip_prefix(' ')
{
line = s;
prefix += " ";
}
result += &format_line_flowed(line, &prefix);
@@ -224,8 +224,7 @@ mod tests {
fn test_unformat_flowed() {
let text = "this is a very long message that should be wrapped using format=flowed and \n\
unwrapped on the receiver";
let expected =
"this is a very long message that should be wrapped using format=flowed and \
let expected = "this is a very long message that should be wrapped using format=flowed and \
unwrapped on the receiver";
assert_eq!(unformat_flowed(text, false), expected);
@@ -255,8 +254,7 @@ mod tests {
assert_eq!(format_flowed_quote(quote), expected);
let quote = "this is a very long quote that should be wrapped using format=flowed and unwrapped on the receiver";
let expected =
"> this is a very long quote that should be wrapped using format=flowed and \r\n\
let expected = "> this is a very long quote that should be wrapped using format=flowed and \r\n\
> unwrapped on the receiver";
assert_eq!(format_flowed_quote(quote), expected);
}