summaryrefslogtreecommitdiffstats
path: root/unix/tclUnixFile.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2019-10-22 21:36:21 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2019-10-22 21:36:21 (GMT)
commit8726aabaded70c01ab3fac21162ce53b220b81ea (patch)
tree47b050309f5ad0865f97743d42ff1ebb570deb96 /unix/tclUnixFile.c
parentd14ab3904746a34a3916f45e037b6df3ecff10fa (diff)
parent566db2779b71036ff40e31affc73126c2a090773 (diff)
downloadtcl-8726aabaded70c01ab3fac21162ce53b220b81ea.zip
tcl-8726aabaded70c01ab3fac21162ce53b220b81ea.tar.gz
tcl-8726aabaded70c01ab3fac21162ce53b220b81ea.tar.bz2
Merge 8.7
Diffstat (limited to 'unix/tclUnixFile.c')
-rw-r--r--unix/tclUnixFile.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/unix/tclUnixFile.c b/unix/tclUnixFile.c
index 352c04e..c81ebb6 100644
--- a/unix/tclUnixFile.c
+++ b/unix/tclUnixFile.c
@@ -269,7 +269,8 @@ TclpMatchInDirectory(
Tcl_DString dsOrig; /* utf-8 encoding of dir */
Tcl_DStringInit(&dsOrig);
- dirName = TclGetStringFromObj(fileNamePtr, &dirLength);
+ Tcl_Encoding encoding;
+ dirName = TclGetStringFromObj(fileNamePtr, &dirLength);
Tcl_DStringAppend(&dsOrig, dirName, dirLength);
/*
@@ -363,7 +364,9 @@ TclpMatchInDirectory(
* and pattern. If so, add the file to the result.
*/
- utfname = Tcl_ExternalToUtfDString(NULL, entryPtr->d_name, -1,
+
+ encoding = Tcl_GetEncoding(interp ,NULL);
+ utfname = Tcl_ExternalToUtfDString(encoding, entryPtr->d_name, -1,
&utfDs);
if (Tcl_StringCaseMatch(utfname, pattern, 0)) {
int typeOk = 1;
@@ -378,7 +381,7 @@ TclpMatchInDirectory(
if (typeOk) {
Tcl_ListObjAppendElement(interp, resultPtr,
TclNewFSPathObj(pathPtr, utfname,
- Tcl_DStringLength(&utfDs)));
+ Tcl_DStringLength(&utfDs), encoding));
}
}
Tcl_DStringFree(&utfDs);