fn read()

in rust/ccommon-backend/src/compat.rs [108:127]


    fn read(&mut self, buf: &mut [u8]) -> Result<usize> {
        let read = unsafe {
            fread(
                buf.as_mut_ptr() as *mut c_void,
                1,
                buf.len(),
                self.as_mut_ptr(),
            )
        };

        if read == buf.len() {
            return Ok(read);
        }

        if unsafe { feof(self.as_mut_ptr()) != 0 } {
            return Ok(read);
        }

        Err(Error::last_os_error())
    }