diff options
author | unknown <thek@kpdesk.mysql.com> | 2006-11-06 15:40:43 +0100 |
---|---|---|
committer | unknown <thek@kpdesk.mysql.com> | 2006-11-06 15:40:43 +0100 |
commit | 94a2b704a0c311ac3d86c1f12221608e08c91579 (patch) | |
tree | d47486dfd87efc5b4b723ffc38e122051f2bfa35 | |
parent | f3258af51379c018850140849f16552d7a66be8b (diff) | |
parent | 51a360a0051323837c2885d29c92bd7cd2072341 (diff) | |
download | mariadb-git-94a2b704a0c311ac3d86c1f12221608e08c91579.tar.gz |
Merge kpdesk.mysql.com:/home/thek/dev/bug23010/my40-bug23010
into kpdesk.mysql.com:/home/thek/dev/mysql-4.0-maint
-rw-r--r-- | mysys/mf_iocache.c | 6 | ||||
-rw-r--r-- | mysys/my_seek.c | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/mysys/mf_iocache.c b/mysys/mf_iocache.c index a7937da0cc2..5f0069d9bed 100644 --- a/mysys/mf_iocache.c +++ b/mysys/mf_iocache.c @@ -313,7 +313,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 ec24a26b3d9..f47383b7ace 100644 --- a/mysys/my_seek.c +++ b/mysys/my_seek.c @@ -30,6 +30,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) { |