* syscalls.cc (_link): Make sure that newpath does not exist. Set errno if it

does.
* cygheap.cc (init_cheap): Don't specify a load address for the heap.  It
doesn't work on #!*& Windows 9x.
(cygheap_init): Move GetUserName to memory_init.
* dcrt0.cc (dll_crt0_1): Call new memory_init functin, eliminate call to
heap_init.
* heap.cc (heap_init): Improve error output.
* heap.h: Correct some declarations.
* shared.cc (mount_table_init): Remove.
(memory_init): Renamed from shared_init.  Reorganize to accomodate strange
Windows 9x problems with cygheap/heap interaction.
* shared_info.h: Rename shared_init to memory_init.
This commit is contained in:
Christopher Faylor
2001-01-29 00:46:25 +00:00
parent 39d871d66d
commit 6a4878cf16
8 changed files with 88 additions and 59 deletions

View File

@@ -531,6 +531,13 @@ _link (const char *a, const char *b)
set_errno (real_b.error);
goto done;
}
if (real_b.file_attributes () != (DWORD)-1)
{
syscall_printf ("file '%s' exists?", (char *)real_b);
set_errno (EEXIST);
goto done;
}
if (real_b.get_win32 ()[strlen (real_b.get_win32 ()) - 1] == '.')
{
syscall_printf ("trailing dot, bailing out");