summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
authorunknown <thek@kpdesk.mysql.com>2007-01-11 14:04:01 +0100
committerunknown <thek@kpdesk.mysql.com>2007-01-11 14:04:01 +0100
commit9397ff2a7d0556de1f312db679cb27554c5bf158 (patch)
treeb87daaa8d87b3126de121ef3a523c36313ca88d2 /mysys
parent08dc2dcb5a25ab765e58c9b627e0f59f9c407201 (diff)
parent94a2b704a0c311ac3d86c1f12221608e08c91579 (diff)
downloadmariadb-git-9397ff2a7d0556de1f312db679cb27554c5bf158.tar.gz
Merge kpdesk.mysql.com:/home/thek/dev/mysql-4.0-maint
into kpdesk.mysql.com:/home/thek/dev/mysql-4.1-maint mysys/mf_iocache.c: Auto merged mysys/my_read.c: Auto merged mysys/my_seek.c: Auto merged
Diffstat (limited to 'mysys')
-rw-r--r--mysys/mf_iocache.c6
-rw-r--r--mysys/my_seek.c5
2 files changed, 10 insertions, 1 deletions
diff --git a/mysys/mf_iocache.c b/mysys/mf_iocache.c
index b17df3da260..c53a9585cfa 100644
--- a/mysys/mf_iocache.c
+++ b/mysys/mf_iocache.c
@@ -337,7 +337,11 @@ my_bool reinit_io_cache(IO_CACHE *info, enum cache_type type,
if (info->type == READ_CACHE)
{
info->write_end=info->write_buffer+info->buffer_length;
- info->seek_not_done=1;
+ /*
+ Trigger a new seek only if we have a valid
+ file handle.
+ */
+ info->seek_not_done= (info->file >= 0);
}
info->end_of_file = ~(my_off_t) 0;
}
diff --git a/mysys/my_seek.c b/mysys/my_seek.c
index a9ae68cd5f0..f03a932e696 100644
--- a/mysys/my_seek.c
+++ b/mysys/my_seek.c
@@ -51,6 +51,11 @@ my_off_t my_seek(File fd, my_off_t pos, int whence,
whence, MyFlags));
DBUG_ASSERT(pos != MY_FILEPOS_ERROR); /* safety check */
+ /*
+ Make sure we are using a valid file descriptor
+ */
+ DBUG_ASSERT(fd >= 0);
+
newpos=lseek(fd, pos, whence);
if (newpos == (os_off_t) -1)
{