diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 12:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 12:47:55 +0000 |
commit | 2aadc03ef15cb5ca5cc2af8a7c08e070742f0ac4 (patch) | |
tree | 033cc839730fda84ff08db877037977be94e5e3a /vendor/errno/README.md | |
parent | Initial commit. (diff) | |
download | cargo-2aadc03ef15cb5ca5cc2af8a7c08e070742f0ac4.tar.xz cargo-2aadc03ef15cb5ca5cc2af8a7c08e070742f0ac4.zip |
Adding upstream version 0.70.1+ds1.upstream/0.70.1+ds1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/errno/README.md')
-rw-r--r-- | vendor/errno/README.md | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/vendor/errno/README.md b/vendor/errno/README.md new file mode 100644 index 0000000..48def10 --- /dev/null +++ b/vendor/errno/README.md @@ -0,0 +1,62 @@ +# errno [![CI](https://github.com/lambda-fairy/rust-errno/actions/workflows/main.yml/badge.svg)](https://github.com/lambda-fairy/rust-errno/actions/workflows/main.yml) [![Cargo](https://img.shields.io/crates/v/errno.svg)](https://crates.io/crates/errno) + +Cross-platform interface to the [`errno`][errno] variable. Works on Rust 1.48 or newer. + +Documentation is available at <https://docs.rs/errno>. + +[errno]: https://en.wikipedia.org/wiki/Errno.h + + +## Dependency + +Add to your `Cargo.toml`: + +```toml +[dependencies] +errno = "*" +``` + + +## Comparison with `std::io::Error` + +The standard library provides [`Error::last_os_error`][last_os_error] which fetches `errno` in the same way. + +This crate provides these extra features: + +- No heap allocations +- Optional `#![no_std]` support +- A `set_errno` function + +[last_os_error]: https://doc.rust-lang.org/std/io/struct.Error.html#method.last_os_error + + +## Examples + +```rust +extern crate errno; +use errno::{Errno, errno, set_errno}; + +// Get the current value of errno +let e = errno(); + +// Set the current value of errno +set_errno(e); + +// Extract the error code as an i32 +let code = e.0; + +// Display a human-friendly error message +println!("Error {}: {}", code, e); +``` + + +## `#![no_std]` + +Enable `#![no_std]` support by disabling the default `std` feature: + +```toml +[dependencies] +errno = { version = "*", default-features = false } +``` + +The `Error` impl will be unavailable. |