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