Skip to main content

stable_osstring_encoding/
impl_unix.rs

1use crate::*;
2use std::{
3	ffi::{OsStr, OsString},
4	os::unix::ffi::{OsStrExt, OsStringExt},
5};
6
7
8
9impl ToStableEncoding for OsString {
10	fn to_stable_encoding(&self) -> StableOsString {
11		self.as_os_str().to_stable_encoding()
12	}
13}
14
15impl ToStableEncoding for OsStr {
16	fn to_stable_encoding(&self) -> StableOsString {
17		self.as_bytes().to_vec()
18	}
19}
20
21
22
23impl IntoStableEncoding for OsString {
24	fn into_stable_encoding(self) -> StableOsString {
25		self.into_vec()
26	}
27}
28
29
30
31impl FromStableEncoding for OsString {
32	unsafe fn from_stable_encoding<'a>(encoded: impl Into<Cow<'a, [EncodingWidth]>>) -> Self {
33		OsString::from_vec(encoded.into().into_owned())
34	}
35}