Commit c9e7c0fd authored by reggie@mdk10.(none)'s avatar reggie@mdk10.(none)

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.
parent 0e8e44e7
......@@ -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 */
......
......@@ -208,7 +208,7 @@ int test_if_hard_path(register const char *dir_name)
my_bool has_path(const char *name)
{
return test(strchr(name, FN_LIBCHAR))
return test(strchr(name, FN_LIBCHAR)) || test(strchr(name,'/'))
#ifdef FN_DEVCHAR
|| test(strchr(name, FN_DEVCHAR))
#endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment