xref: /relibc/src/header/pwd/dragonos.rs (revision be35961d82cd98f2a2e61c4f1869271b9f4af571)
1 use super::{parsed, passwd};
2 use crate::platform::types::*;
3 
4 pub fn split(line: &mut [u8]) -> Option<passwd> {
5     let mut parts = line.split_mut(|&c| c == b'\0');
6     Some(passwd {
7         pw_name: parts.next()?.as_mut_ptr() as *mut c_char,
8         pw_passwd: parts.next()?.as_mut_ptr() as *mut c_char,
9         pw_uid: parsed(parts.next())?,
10         pw_gid: parsed(parts.next())?,
11         pw_gecos: parts.next()?.as_mut_ptr() as *mut c_char,
12         pw_dir: parts.next()?.as_mut_ptr() as *mut c_char,
13         pw_shell: parts.next()?.as_mut_ptr() as *mut c_char,
14     })
15 }
16