@@ -39,12 +39,13 @@ impl fmt::Display for BStr {
39
39
/// ```
40
40
/// # use kernel::{fmt, b_str, str::{BStr, CString}};
41
41
/// let ascii = b_str!("Hello, BStr!");
42
- /// let s = CString::try_from_fmt(fmt!("{}", ascii)).unwrap() ;
42
+ /// let s = CString::try_from_fmt(fmt!("{}", ascii))? ;
43
43
/// assert_eq!(s.as_bytes(), "Hello, BStr!".as_bytes());
44
44
///
45
45
/// let non_ascii = b_str!("🦀");
46
- /// let s = CString::try_from_fmt(fmt!("{}", non_ascii)).unwrap() ;
46
+ /// let s = CString::try_from_fmt(fmt!("{}", non_ascii))? ;
47
47
/// assert_eq!(s.as_bytes(), "\\xf0\\x9f\\xa6\\x80".as_bytes());
48
+ /// # Ok::<(), kernel::error::Error>(())
48
49
/// ```
49
50
fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
50
51
for & b in & self . 0 {
@@ -70,12 +71,13 @@ impl fmt::Debug for BStr {
70
71
/// # use kernel::{fmt, b_str, str::{BStr, CString}};
71
72
/// // Embedded double quotes are escaped.
72
73
/// let ascii = b_str!("Hello, \"BStr\"!");
73
- /// let s = CString::try_from_fmt(fmt!("{:?}", ascii)).unwrap() ;
74
+ /// let s = CString::try_from_fmt(fmt!("{:?}", ascii))? ;
74
75
/// assert_eq!(s.as_bytes(), "\"Hello, \\\"BStr\\\"!\"".as_bytes());
75
76
///
76
77
/// let non_ascii = b_str!("😺");
77
- /// let s = CString::try_from_fmt(fmt!("{:?}", non_ascii)).unwrap() ;
78
+ /// let s = CString::try_from_fmt(fmt!("{:?}", non_ascii))? ;
78
79
/// assert_eq!(s.as_bytes(), "\"\\xf0\\x9f\\x98\\xba\"".as_bytes());
80
+ /// # Ok::<(), kernel::error::Error>(())
79
81
/// ```
80
82
fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
81
83
f. write_char ( '"' ) ?;
@@ -273,8 +275,9 @@ impl CStr {
273
275
///
274
276
/// ```
275
277
/// # use kernel::str::CStr;
276
- /// let cstr = CStr::from_bytes_with_nul(b"foo\0").unwrap() ;
278
+ /// let cstr = CStr::from_bytes_with_nul(b"foo\0")? ;
277
279
/// assert_eq!(cstr.to_str(), Ok("foo"));
280
+ /// # Ok::<(), kernel::error::Error>(())
278
281
/// ```
279
282
#[ inline]
280
283
pub fn to_str ( & self ) -> Result < & str , core:: str:: Utf8Error > {
@@ -384,12 +387,13 @@ impl fmt::Display for CStr {
384
387
/// # use kernel::str::CStr;
385
388
/// # use kernel::str::CString;
386
389
/// let penguin = c_str!("🐧");
387
- /// let s = CString::try_from_fmt(fmt!("{}", penguin)).unwrap() ;
390
+ /// let s = CString::try_from_fmt(fmt!("{}", penguin))? ;
388
391
/// assert_eq!(s.as_bytes_with_nul(), "\\xf0\\x9f\\x90\\xa7\0".as_bytes());
389
392
///
390
393
/// let ascii = c_str!("so \"cool\"");
391
- /// let s = CString::try_from_fmt(fmt!("{}", ascii)).unwrap() ;
394
+ /// let s = CString::try_from_fmt(fmt!("{}", ascii))? ;
392
395
/// assert_eq!(s.as_bytes_with_nul(), "so \"cool\"\0".as_bytes());
396
+ /// # Ok::<(), kernel::error::Error>(())
393
397
/// ```
394
398
fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
395
399
for & c in self . as_bytes ( ) {
@@ -413,13 +417,14 @@ impl fmt::Debug for CStr {
413
417
/// # use kernel::str::CStr;
414
418
/// # use kernel::str::CString;
415
419
/// let penguin = c_str!("🐧");
416
- /// let s = CString::try_from_fmt(fmt!("{:?}", penguin)).unwrap() ;
420
+ /// let s = CString::try_from_fmt(fmt!("{:?}", penguin))? ;
417
421
/// assert_eq!(s.as_bytes_with_nul(), "\"\\xf0\\x9f\\x90\\xa7\"\0".as_bytes());
418
422
///
419
423
/// // Embedded double quotes are escaped.
420
424
/// let ascii = c_str!("so \"cool\"");
421
- /// let s = CString::try_from_fmt(fmt!("{:?}", ascii)).unwrap() ;
425
+ /// let s = CString::try_from_fmt(fmt!("{:?}", ascii))? ;
422
426
/// assert_eq!(s.as_bytes_with_nul(), "\"so \\\"cool\\\"\"\0".as_bytes());
427
+ /// # Ok::<(), kernel::error::Error>(())
423
428
/// ```
424
429
fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
425
430
f. write_str ( "\" " ) ?;
@@ -801,16 +806,17 @@ impl fmt::Write for Formatter {
801
806
/// ```
802
807
/// use kernel::{str::CString, fmt};
803
808
///
804
- /// let s = CString::try_from_fmt(fmt!("{}{}{}", "abc", 10, 20)).unwrap() ;
809
+ /// let s = CString::try_from_fmt(fmt!("{}{}{}", "abc", 10, 20))? ;
805
810
/// assert_eq!(s.as_bytes_with_nul(), "abc1020\0".as_bytes());
806
811
///
807
812
/// let tmp = "testing";
808
- /// let s = CString::try_from_fmt(fmt!("{tmp}{}", 123)).unwrap() ;
813
+ /// let s = CString::try_from_fmt(fmt!("{tmp}{}", 123))? ;
809
814
/// assert_eq!(s.as_bytes_with_nul(), "testing123\0".as_bytes());
810
815
///
811
816
/// // This fails because it has an embedded `NUL` byte.
812
817
/// let s = CString::try_from_fmt(fmt!("a\0b{}", 123));
813
818
/// assert_eq!(s.is_ok(), false);
819
+ /// # Ok::<(), kernel::error::Error>(())
814
820
/// ```
815
821
pub struct CString {
816
822
buf : KVec < u8 > ,
0 commit comments