#untrusted #input #primitive #parser

无需 std untrustended

Untrustended - Untrusted 扩展。从未授权输入解析值的原语集合。

8 个版本 (4 个重大更新)

0.4.1 2024年1月3日
0.4.0 2021年7月19日
0.3.0 2019年7月30日
0.2.1 2017年10月3日
0.0.2 2017年7月23日

#5 in #untrusted

Download history • Rust 包仓库 239/week @ 2024-04-08 • Rust 包仓库 190/week @ 2024-04-15 • Rust 包仓库 241/week @ 2024-04-22 • Rust 包仓库 186/week @ 2024-04-29 • Rust 包仓库 107/week @ 2024-05-06 • Rust 包仓库 111/week @ 2024-05-13 • Rust 包仓库 109/week @ 2024-05-20 • Rust 包仓库 136/week @ 2024-05-27 • Rust 包仓库 127/week @ 2024-06-03 • Rust 包仓库 58/week @ 2024-06-10 • Rust 包仓库 94/week @ 2024-06-17 • Rust 包仓库 48/week @ 2024-06-24 • Rust 包仓库 165/week @ 2024-07-01 • Rust 包仓库 57/week @ 2024-07-08 • Rust 包仓库 77/week @ 2024-07-15 • Rust 包仓库 87/week @ 2024-07-22 • Rust 包仓库

每月388次下载

ISC 许可证

24KB
320

untrustended Crates.ioCircleCI

Untrustended 是从未授权输入解析值的原语集合。它建立在 untrustedReader::read_byte()Reader::read_bytes() 之上。

在使用此库之前,请先查阅 untrusted 的文档。

示例

请参阅 untrustended 文档 中的使用示例。

许可证

请参阅 LICENSE.txt。ISC 许可证。


lib.rs:

Untrustended - Untrusted 扩展。

Untrustended 是从未授权输入解析值的原语集合。它建立在 untrustedReader::read_byte()Reader::read_bytes() 之上。

在使用此库之前,请先查阅 untrusted 的文档。

要使用此库提供的新的方法

use untrustended::ReaderExt;

然后像平常一样构建一个 Reader 并享受它。

示例

use untrusted::{Input, Reader};
use untrustended::{ReaderExt, Error};

fn read_stuff(input: &mut Reader<'_>) -> Result<(u8, u16, u32), Error> {
    let one_byte = input.read_u8()?;
    let big_endian_u16 = input.read_u16be()?;
    let little_endian_u32 = input.read_u32le()?;
    Ok((one_byte, big_endian_u16, little_endian_u32))
}

fn main() {
    let buf = vec![0, 1, 2, 3, 4, 5, 6];
    let input = Input::from(&buf);

    input.read_all(Error::UnknownError, read_stuff).expect("read_all to succeed");
}

依赖项

~28KB