fix passing buffer after partial read/write (Jean-Pierre Andre, Szabolcs Szakacsits)

master
szaka 2009-04-25 13:20:03 +00:00
parent e030b6985f
commit 5883b194d5
1 changed files with 2 additions and 2 deletions

View File

@ -752,7 +752,7 @@ static int ntfs_fuse_read(const char *org_path, char *buf, size_t size,
size = na->data_size - offset;
}
while (size > 0) {
s64 ret = ntfs_attr_pread(na, offset, size, buf);
s64 ret = ntfs_attr_pread(na, offset, size, buf + total);
if (ret != (s64)size)
ntfs_log_perror("ntfs_attr_pread error reading '%s' at "
"offset %lld: %lld <> %lld", org_path,
@ -804,7 +804,7 @@ static int ntfs_fuse_write(const char *org_path, const char *buf, size_t size,
goto exit;
}
while (size) {
s64 ret = ntfs_attr_pwrite(na, offset, size, buf);
s64 ret = ntfs_attr_pwrite(na, offset, size, buf + total);
if (0 <= ret && ret < (s64)size)
ntfs_log_perror("ntfs_attr_pwrite partial write to '%s'"
" (%lld: %lld <> %lld)", path, (long long)offset,