patch-2.4.27 linux-2.4.27/fs/hfs/file.c
Next file: linux-2.4.27/fs/hfs/file_cap.c
Previous file: linux-2.4.27/fs/ext3/super.c
Back to the patch index
Back to the overall index
- Lines: 38
- Date:
2004-08-07 16:26:05.976401099 -0700
- Orig file:
linux-2.4.26/fs/hfs/file.c
- Orig date:
2002-02-25 11:38:08.000000000 -0800
diff -urN linux-2.4.26/fs/hfs/file.c linux-2.4.27/fs/hfs/file.c
@@ -150,7 +150,7 @@
return -EINVAL;
}
pos = *ppos;
- if (pos >= HFS_FORK_MAX) {
+ if (pos < 0 || pos >= HFS_FORK_MAX) {
return 0;
}
size = inode->i_size;
@@ -167,7 +167,7 @@
}
if ((read = hfs_do_read(inode, HFS_I(inode)->fork, pos,
buf, left, filp->f_reada != 0)) > 0) {
- *ppos += read;
+ *ppos = pos + read;
filp->f_reada = 1;
}
@@ -197,7 +197,7 @@
pos = (filp->f_flags & O_APPEND) ? inode->i_size : *ppos;
- if (pos >= HFS_FORK_MAX) {
+ if (pos < 0 || pos >= HFS_FORK_MAX) {
return 0;
}
if (count > HFS_FORK_MAX) {
@@ -207,8 +207,8 @@
pos += written;
*ppos = pos;
- if (*ppos > inode->i_size) {
- inode->i_size = *ppos;
+ if (pos > inode->i_size) {
+ inode->i_size = pos;
mark_inode_dirty(inode);
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)