[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
hurd/libnetfs ChangeLog io-seek.c
From: |
Thomas Schwinge |
Subject: |
hurd/libnetfs ChangeLog io-seek.c |
Date: |
Thu, 15 Jun 2006 13:55:27 +0000 |
CVSROOT: /cvsroot/hurd
Module name: hurd
Changes by: Thomas Schwinge <tschwinge> 06/06/15 13:55:27
Modified files:
libnetfs : ChangeLog io-seek.c
Log message:
2006-06-15 Thomas Schwinge <address@hidden>
* io-seek.c (netfs_S_io_seek): Return EINVAL if file pointer
would
become negative.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/hurd/libnetfs/ChangeLog?cvsroot=hurd&r1=1.73&r2=1.74
http://cvs.savannah.gnu.org/viewcvs/hurd/libnetfs/io-seek.c?cvsroot=hurd&r1=1.7&r2=1.8
Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/hurd/hurd/libnetfs/ChangeLog,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -b -r1.73 -r1.74
--- ChangeLog 12 Sep 2004 10:45:38 -0000 1.73
+++ ChangeLog 15 Jun 2006 13:55:27 -0000 1.74
@@ -1,3 +1,8 @@
+2006-06-15 Thomas Schwinge <address@hidden>
+
+ * io-seek.c (netfs_S_io_seek): Return EINVAL if file pointer would
+ become negative.
+
2004-09-12 Marco Gerards <address@hidden>
* io-select.c: Include <hurd/ports.h>.
Index: io-seek.c
===================================================================
RCS file: /cvsroot/hurd/hurd/libnetfs/io-seek.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- io-seek.c 30 Dec 2000 18:22:28 -0000 1.7
+++ io-seek.c 15 Jun 2006 13:55:27 -0000 1.8
@@ -1,5 +1,5 @@
/*
- Copyright (C) 1995, 1996, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 2000, 2006 Free Software Foundation, Inc.
Written by Michael I. Bushnell, p/BSG.
This file is part of the GNU Hurd.
@@ -28,23 +28,16 @@
int whence,
off_t *newoffset)
{
- error_t err;
+ error_t err = 0;
if (!user)
return EOPNOTSUPP;
switch (whence)
{
- case SEEK_SET:
- err = 0;
- user->po->filepointer = offset;
- break;
-
case SEEK_CUR:
- err = 0;
- user->po->filepointer += offset;
- break;
-
+ offset += user->po->filepointer;
+ goto check;
case SEEK_END:
{
struct node *np;
@@ -54,19 +47,22 @@
err = netfs_validate_stat (np, user->user);
if (!err)
- user->po->filepointer = np->nn_stat.st_size + offset;
+ offset += np->nn_stat.st_size;
mutex_unlock (&np->lock);
-
+ }
+ case SEEK_SET:
+ check:
+ if (offset >= 0)
+ {
+ *newoffset = user->po->filepointer = offset;
break;
}
-
default:
err = EINVAL;
break;
}
- *newoffset = user->po->filepointer;
return err;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- hurd/libnetfs ChangeLog io-seek.c,
Thomas Schwinge <=