* dcrt0.cc (do_global_dtors): Run DLL dtors.
(__main): Don't rely on atexit to run dtors. (do_exit): Specifically call do_global_dtors here. (cygwin_exit): Ditto. * dll_init.cc (dll_global_dtors): Make global. Only run dtors once. (dll_list::init): Just set flag that dtors should be run. Don't rely on atexit. * dll_init.h (dll_global_dtors): Declare. * exceptions.cc (sigrelse): Define. * path.h (is_fs_device): New method. (is_lnk_special): Ditto. * fhandler_disk_file.cc (fhandler_disk_file::link): Use "is_lnk_special" rather than "is_lnk_symlink". * syscalls.cc (rename): Ditto. * hookapi.cc (ld_preload): Use colon as a separator rather than space.
This commit is contained in:
@ -701,7 +701,7 @@ fhandler_disk_file::link (const char *newpath)
|
||||
|
||||
/* Shortcut hack. */
|
||||
char new_lnk_buf[CYG_MAX_PATH + 5];
|
||||
if (allow_winsymlinks && pc.is_lnk_symlink () && !newpc.case_clash)
|
||||
if (allow_winsymlinks && pc.is_lnk_special () && !newpc.case_clash)
|
||||
{
|
||||
strcpy (new_lnk_buf, newpath);
|
||||
strcat (new_lnk_buf, ".lnk");
|
||||
@ -800,7 +800,7 @@ fhandler_disk_file::link (const char *newpath)
|
||||
|
||||
success:
|
||||
close ();
|
||||
if (!allow_winsymlinks && pc.is_lnk_symlink ())
|
||||
if (!allow_winsymlinks && pc.is_lnk_special ())
|
||||
SetFileAttributes (newpc, (DWORD) pc
|
||||
| FILE_ATTRIBUTE_SYSTEM
|
||||
| FILE_ATTRIBUTE_READONLY);
|
||||
|
Reference in New Issue
Block a user