diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/.gitignore | 1 | ||||
| -rw-r--r-- | src/filesys/file.c | 7 | ||||
| -rw-r--r-- | src/userprog/build/fail | 0 |
3 files changed, 7 insertions, 1 deletions
diff --git a/src/.gitignore b/src/.gitignore index bea5755..89ff8ee 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1 +1,2 @@ TAGS +*.o diff --git a/src/filesys/file.c b/src/filesys/file.c index d5fc10d..238806a 100644 --- a/src/filesys/file.c +++ b/src/filesys/file.c @@ -155,7 +155,12 @@ file_seek (struct file *file, off_t new_pos) { ASSERT (file != NULL); ASSERT (new_pos >= 0); - file->pos = new_pos; + off_t size = inode_length (file->inode); + if (new_pos < size) { + file->pos = new_pos; + } else { + file->pos = size; + } } /* Returns the current position in FILE as a byte offset from the diff --git a/src/userprog/build/fail b/src/userprog/build/fail deleted file mode 100644 index e69de29..0000000 --- a/src/userprog/build/fail +++ /dev/null |
