summaryrefslogtreecommitdiff
path: root/myisammrg
diff options
context:
space:
mode:
authorreggie@mdk10.(none) <>2005-05-23 11:53:16 -0500
committerreggie@mdk10.(none) <>2005-05-23 11:53:16 -0500
commitc9e7c0fd56e04ce15b09b44c927c221143c6a9b6 (patch)
tree3153a514a15fc0a00b4cda2dcc8a351985d39566 /myisammrg
parent0e8e44e70dd13ef8c0f011ed2a9002102547692a (diff)
downloadmariadb-git-c9e7c0fd56e04ce15b09b44c927c221143c6a9b6.tar.gz
BUG# 10687: MERGE Engine fails on Windows
This is a replacement for the original patch given by Ingo. This one comes from Monty. The problem is that merge files now use unix style pathnames on all platforms. The merge file open code was not properly converting those pathnames back to non-unix when necessary.
Diffstat (limited to 'myisammrg')
-rw-r--r--myisammrg/myrg_open.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/myisammrg/myrg_open.c b/myisammrg/myrg_open.c
index 0dc2f4f9768..f9cdc2bb205 100644
--- a/myisammrg/myrg_open.c
+++ b/myisammrg/myrg_open.c
@@ -67,7 +67,7 @@ MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking)
while ((length=my_b_gets(&file,buff,FN_REFLEN-1)))
{
if ((end=buff+length)[-1] == '\n')
- end[-1]='\0';
+ *--end='\0';
if (!buff[0])
continue; /* Skip empty lines */
if (buff[0] == '#')
@@ -86,6 +86,8 @@ MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking)
sizeof(name_buff)-1-dir_length));
VOID(cleanup_dirname(buff,name_buff));
}
+ else
+ fn_format(buff, buff, "", "", 0);
if (!(isam=mi_open(buff,mode,(handle_locking?HA_OPEN_WAIT_IF_LOCKED:0))))
goto err;
if (!m_info) /* First file */