use crate::nfs::nfs_records::*;
use nom7::bytes::streaming::take;
-use nom7::combinator::rest;
+use nom7::combinator::{rest, cond};
use nom7::number::streaming::be_u32;
use nom7::IResult;
let (i, status) = be_u32(i)?;
let (i, attr_blob) = take(68_usize)(i)?;
let (i, data_len) = be_u32(i)?;
- let (i, data_contents) = rest(i)?;
+ let (i, data_contents) = take(data_len)(i)?;
+ let fill_bytes = 4 - (data_len % 4);
+ let (i, _) = cond(fill_bytes != 0, take(fill_bytes))(i)?;
let reply = NfsReplyRead {
status,
attr_follows: 1,