summaryrefslogtreecommitdiffstats
path: root/unix/tclUnixFile.c
diff options
context:
space:
mode:
authornijtmans@users.sourceforge.net <jan.nijtmans>2012-06-28 19:59:10 (GMT)
committernijtmans@users.sourceforge.net <jan.nijtmans>2012-06-28 19:59:10 (GMT)
commit3ae62dec90a0df3f4ca0aa3b3cf9f86f022dcf4e (patch)
treec177b306cc7eabdede0019b7baa94421273e2a89 /unix/tclUnixFile.c
parent520694a58080e97c074cad03586259c67bcd2a25 (diff)
parentdca8e0445683dc4e2ffd2e04dff00dfc7fded3e0 (diff)
downloadtcl-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.c13
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;