diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index 8da858da1..c13701aa0 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -1921,7 +1921,7 @@ symlink_worker (const char *oldpath, const char *newpath, bool isdevice) win32_newpath.get_nt_native_path (), wsym_type); if ((!isdevice && win32_newpath.exists ()) - || win32_newpath.is_auto_device ()) + || (win32_newpath.isdevice () && !win32_newpath.is_fs_special ())) { set_errno (EEXIST); __leave; diff --git a/winsup/cygwin/path.h b/winsup/cygwin/path.h index 69af5a01c..0b4a003ad 100644 --- a/winsup/cygwin/path.h +++ b/winsup/cygwin/path.h @@ -183,7 +183,6 @@ class path_conv int isfifo () const {return dev.is_device (FH_FIFO);} int isspecial () const {return dev.not_device (FH_FS);} int iscygdrive () const {return dev.is_device (FH_CYGDRIVE);} - int is_auto_device () const {return isdevice () && !is_fs_special ();} int is_fs_device () const {return isdevice () && is_fs_special ();} int is_fs_special () const {return dev.is_fs_special ();} int is_lnk_special () const {return is_fs_device () || isfifo () || is_lnk_symlink ();}