summaryrefslogtreecommitdiff
path: root/mysys/my_open.c
diff options
context:
space:
mode:
authorgbichot@bk-internal.mysql.com <>2005-05-24 00:31:28 +0200
committergbichot@bk-internal.mysql.com <>2005-05-24 00:31:28 +0200
commita49ccfe6f061912fd256960d4d69cb3802f0acd1 (patch)
tree5da5eb79642bfdfba40fd1c24219b19bf4bb7580 /mysys/my_open.c
parent52d6288e2d5b5ba156a32f868d4cb9245c1cee8c (diff)
parent76a20eb3976909d7e07ed6db19f05caef71e8d5b (diff)
downloadmariadb-git-a49ccfe6f061912fd256960d4d69cb3802f0acd1.tar.gz
Merge bk-internal.mysql.com:/data0/bk/mysql-4.1
into bk-internal.mysql.com:/data0/bk/mysql-5.0
Diffstat (limited to 'mysys/my_open.c')
-rw-r--r--mysys/my_open.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/mysys/my_open.c b/mysys/my_open.c
index a5cd3811bbf..7fc5282838f 100644
--- a/mysys/my_open.c
+++ b/mysys/my_open.c
@@ -46,6 +46,13 @@ File my_open(const char *FileName, int Flags, myf MyFlags)
DBUG_PRINT("my",("Name: '%s' Flags: %d MyFlags: %d",
FileName, Flags, MyFlags));
#if defined(MSDOS) || defined(__WIN__) || defined(__EMX__) || defined(OS2)
+ /*
+ if we are not creating, then we need to use my_access to make
+ sure the file exists since Windows doesn't handle files like
+ "com1.sym" very well
+ */
+ if (! (Flags & O_CREAT) && my_access(FileName, F_OK))
+ return -1;
if (Flags & O_SHARE)
fd = sopen((my_string) FileName, (Flags & ~O_SHARE) | O_BINARY, SH_DENYNO,
MY_S_IREAD | MY_S_IWRITE);