diff options
| author | nijtmans@users.sourceforge.net <jan.nijtmans> | 2012-06-28 19:59:10 (GMT) |
|---|---|---|
| committer | nijtmans@users.sourceforge.net <jan.nijtmans> | 2012-06-28 19:59:10 (GMT) |
| commit | 3ae62dec90a0df3f4ca0aa3b3cf9f86f022dcf4e (patch) | |
| tree | c177b306cc7eabdede0019b7baa94421273e2a89 /unix/tclUnixFile.c | |
| parent | 520694a58080e97c074cad03586259c67bcd2a25 (diff) | |
| parent | dca8e0445683dc4e2ffd2e04dff00dfc7fded3e0 (diff) | |
| download | tcl-3ae62dec90a0df3f4ca0aa3b3cf9f86f022dcf4e.zip tcl-3ae62dec90a0df3f4ca0aa3b3cf9f86f022dcf4e.tar.gz tcl-3ae62dec90a0df3f4ca0aa3b3cf9f86f022dcf4e.tar.bz2 | |
merge trunk
bug fix: variable $key not found
make it work on cygwin as well
Diffstat (limited to 'unix/tclUnixFile.c')
| -rw-r--r-- | unix/tclUnixFile.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/unix/tclUnixFile.c b/unix/tclUnixFile.c index edd0d2f..4a34b0b 100644 --- a/unix/tclUnixFile.c +++ b/unix/tclUnixFile.c @@ -42,19 +42,18 @@ TclpFindExecutable( Tcl_Encoding encoding; #ifdef __CYGWIN__ int length; - char buf[PATH_MAX * TCL_UTF_MAX + 1]; + char buf[PATH_MAX * 2]; char name[PATH_MAX * TCL_UTF_MAX + 1]; - GetModuleFileNameW(NULL, name, PATH_MAX); - WideCharToMultiByte(CP_UTF8, 0, name, -1, buf, PATH_MAX, NULL, NULL); - cygwin_conv_to_full_posix_path(buf, name); + GetModuleFileNameW(NULL, buf, PATH_MAX); + cygwin_conv_path(3, buf, name, PATH_MAX); length = strlen(name); if ((length > 4) && !strcasecmp(name + length - 4, ".exe")) { /* Strip '.exe' part. */ length -= 4; } - encoding = Tcl_GetEncoding(NULL, NULL); - TclSetObjNameOfExecutable( - Tcl_NewStringObj(name, length), encoding); + encoding = Tcl_GetEncoding(NULL, NULL); + TclSetObjNameOfExecutable( + Tcl_NewStringObj(name, length), encoding); #else const char *name, *p; Tcl_StatBuf statBuf; |
