diff --git a/src/userprog/syscall.c b/src/userprog/syscall.c index 57a5018..102458f 100644 --- a/src/userprog/syscall.c +++ b/src/userprog/syscall.c @@ -249,9 +249,15 @@ syscall_write (int fd, const void *buffer, unsigned size) } static void -syscall_seek (int fd UNUSED, unsigned position UNUSED) +syscall_seek (int fd, unsigned position) { - //TODO + struct open_file *file_info = fd_get_file (fd); + if (file_info != NULL) + { + lock_acquire (&filesys_lock); + file_seek (file_info->file, position); + lock_release (&filesys_lock); + } } static unsigned