summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
authorunknown <Kristofer.Pettersson@naruto.>2006-10-17 13:32:58 +0200
committerunknown <Kristofer.Pettersson@naruto.>2006-10-17 13:32:58 +0200
commit309962243d7ade38854c74d729d6dbb33c4a8ff4 (patch)
treeebf3743c9161593ef202634cd23081cb977c54a5 /mysys
parent7b7924052cfaca0729809fbbc00cdfd499556250 (diff)
parent95108de59d7aa49b0c59b449454eff5bc1800699 (diff)
downloadmariadb-git-309962243d7ade38854c74d729d6dbb33c4a8ff4.tar.gz
Merge naruto.:C:/cpp/bug23010/my51-bug23010
into naruto.:C:/cpp/mysql-5.1-new-maint
Diffstat (limited to 'mysys')
-rw-r--r--mysys/mf_iocache.c6
-rw-r--r--mysys/my_seek.c9
2 files changed, 12 insertions, 3 deletions
diff --git a/mysys/mf_iocache.c b/mysys/mf_iocache.c
index cd2a140182e..eb8b992c601 100644
--- a/mysys/mf_iocache.c
+++ b/mysys/mf_iocache.c
@@ -333,7 +333,11 @@ my_bool reinit_io_cache(IO_CACHE *info, enum cache_type type,
{
info->read_end=info->write_pos;
info->end_of_file=my_b_tell(info);
- info->seek_not_done=1;
+ /*
+ Trigger a new seek only if we have a valid
+ file handle.
+ */
+ info->seek_not_done= (info->file != -1);
}
else if (type == WRITE_CACHE)
{
diff --git a/mysys/my_seek.c b/mysys/my_seek.c
index e5b1905e551..239136c4e7c 100644
--- a/mysys/my_seek.c
+++ b/mysys/my_seek.c
@@ -29,8 +29,13 @@ my_off_t my_seek(File fd, my_off_t pos, int whence,
whence, MyFlags));
DBUG_ASSERT(pos != MY_FILEPOS_ERROR); /* safety check */
- if (-1 != fd)
- newpos=lseek(fd, pos, whence);
+ /*
+ Make sure we are using a valid file descriptor!
+ */
+ DBUG_ASSERT(fd != -1);
+
+ newpos= lseek(fd, pos, whence);
+
if (newpos == (os_off_t) -1)
{
my_errno=errno;