diff --git a/src/sf_iov.c b/src/sf_iov.c index 292e6b8..0c86667 100644 --- a/src/sf_iov.c +++ b/src/sf_iov.c @@ -140,8 +140,8 @@ int sf_iova_next_slice(SFDynamicIOVArray *iova, return iova_slice(iova, slice_len); } -int sf_iova_memset(SFDynamicIOVArray *iova, int c, - const int offset, const int length) +int sf_iova_memset_ex(struct iovec *iov, const int iovcnt, + int c, const int offset, const int length) { struct iovec *iob; struct iovec *end; @@ -155,8 +155,8 @@ int sf_iova_memset(SFDynamicIOVArray *iova, int c, } sum_bytes = 0; - end = iova->iov + iova->cnt; - for (iob=iova->iov; iobiov_len; if (sum_bytes > offset) { break; diff --git a/src/sf_iov.h b/src/sf_iov.h index 259ae25..05ee0ac 100644 --- a/src/sf_iov.h +++ b/src/sf_iov.h @@ -76,8 +76,11 @@ int sf_iova_first_slice(SFDynamicIOVArray *iova, const int slice_len); int sf_iova_next_slice(SFDynamicIOVArray *iova, const int consume_len, const int slice_len); -int sf_iova_memset(SFDynamicIOVArray *iova, int c, - const int offset, const int length); +int sf_iova_memset_ex(struct iovec *iov, const int iovcnt, + int c, const int offset, const int length); + +#define sf_iova_memset(iova, c, offset, length) \ + sf_iova_memset_ex((iova).iov, (iova).cnt, c, offset, length) #ifdef __cplusplus }