xref: /relibc/src/header/pwd/dragonos.rs (revision 6fd98d550c9d0636b12b0cece86bf1442dac7378)
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