diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-12-16 15:04:10 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-12-16 15:04:10 (GMT) |
| commit | 4ea5470891ef203f5037e8c2e6dab835a0cffdd5 (patch) | |
| tree | 0e7570e05376c0ff1d0fa8943a8b240043cb2734 /win/tclWinFile.c | |
| parent | d06a5c4c22214e8bcdab307afca8c8698c6831eb (diff) | |
| parent | 7795886d4958ae36fecb7eeaf2514ce1dcf960dd (diff) | |
| download | tcl-4ea5470891ef203f5037e8c2e6dab835a0cffdd5.zip tcl-4ea5470891ef203f5037e8c2e6dab835a0cffdd5.tar.gz tcl-4ea5470891ef203f5037e8c2e6dab835a0cffdd5.tar.bz2 | |
Merge 8.7
Diffstat (limited to 'win/tclWinFile.c')
| -rw-r--r-- | win/tclWinFile.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/win/tclWinFile.c b/win/tclWinFile.c index f51d6f5..38edd87 100644 --- a/win/tclWinFile.c +++ b/win/tclWinFile.c @@ -264,11 +264,21 @@ WinLink( TclWinConvertError(GetLastError()); } else if (linkAction & TCL_CREATE_SYMBOLIC_LINK) { - /* - * Can't symlink files. - */ + if (!tclWinProcs.createSymbolicLink) { + /* + * Can't symlink files. + */ + Tcl_SetErrno(ENOTDIR); + } else if (tclWinProcs.createSymbolicLink(linkSourcePath, linkTargetPath, + 0x2 /* SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE */)) { + /* + * Success! + */ - Tcl_SetErrno(ENOTDIR); + return 0; + } + + TclWinConvertError(GetLastError()); } else { Tcl_SetErrno(ENODEV); } |
