[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
hurd/storeio ChangeLog open.c
From: |
Thomas Schwinge |
Subject: |
hurd/storeio ChangeLog open.c |
Date: |
Thu, 15 Jun 2006 13:54:08 +0000 |
CVSROOT: /cvsroot/hurd
Module name: hurd
Changes by: Thomas Schwinge <tschwinge> 06/06/15 13:54:08
Modified files:
storeio : ChangeLog open.c
Log message:
2006-06-15 Thomas Schwinge <address@hidden>
* open.c (open_seek): Seek into the correct direction for
`SEEK_END'.
Return EINVAL if file pointer would become negative.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/hurd/storeio/ChangeLog?cvsroot=hurd&r1=1.54&r2=1.55
http://cvs.savannah.gnu.org/viewcvs/hurd/storeio/open.c?cvsroot=hurd&r1=1.2&r2=1.3
Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/hurd/hurd/storeio/ChangeLog,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -b -r1.54 -r1.55
--- ChangeLog 7 Jan 2005 23:06:26 -0000 1.54
+++ ChangeLog 15 Jun 2006 13:54:08 -0000 1.55
@@ -1,3 +1,8 @@
+2006-06-15 Thomas Schwinge <address@hidden>
+
+ * open.c (open_seek): Seek into the correct direction for `SEEK_END'.
+ Return EINVAL if file pointer would become negative.
+
2005-01-08 Marco Gerards <address@hidden>
* storeio.c (trivfs_modify_stat): Don't initialize st_blocks.
Index: open.c
===================================================================
RCS file: /cvsroot/hurd/hurd/storeio/open.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- open.c 23 Sep 1996 19:58:26 -0000 1.2
+++ open.c 15 Jun 2006 13:54:08 -0000 1.3
@@ -1,6 +1,6 @@
/* Per-open information for storeio
- Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 2006 Free Software Foundation, Inc.
Written by Miles Bader <address@hidden>
@@ -105,19 +105,22 @@
switch (whence)
{
- case SEEK_SET:
- open->offs = offs; break;
case SEEK_CUR:
- open->offs += offs; break;
+ offs += open->offs;
+ goto check;
case SEEK_END:
- open->offs = open->dev->store->size - offs; break;
+ offs += open->dev->store->size;
+ case SEEK_SET:
+ check:
+ if (offs >= 0)
+ {
+ *new_offs = open->offs = offs;
+ break;
+ }
default:
err = EINVAL;
}
- if (! err)
- *new_offs = open->offs;
-
mutex_unlock (&open->lock);
return err;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- hurd/storeio ChangeLog open.c,
Thomas Schwinge <=