summaryrefslogtreecommitdiffstats
path: root/unix/tclUnixFile.c
diff options
context:
space:
mode:
authorpooryorick <com.digitalsmarties@pooryorick.com>2019-10-22 19:21:48 (GMT)
committerpooryorick <com.digitalsmarties@pooryorick.com>2019-10-22 19:21:48 (GMT)
commit566db2779b71036ff40e31affc73126c2a090773 (patch)
tree590ddf2c16afa55c810ad08dad8c92fbad62ed59 /unix/tclUnixFile.c
parent1ce018ea85386566dd65a3b924bc59c6617afe2b (diff)
parent2f8cb2ab854a2e311b49c8276bb59a76adaeafeb (diff)
downloadtcl-566db2779b71036ff40e31affc73126c2a090773.zip
tcl-566db2779b71036ff40e31affc73126c2a090773.tar.gz
tcl-566db2779b71036ff40e31affc73126c2a090773.tar.bz2
Fix for [bcd1004104]
Diffstat (limited to 'unix/tclUnixFile.c')
-rw-r--r--unix/tclUnixFile.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/unix/tclUnixFile.c b/unix/tclUnixFile.c
index bf033d2..028175f 100644
--- a/unix/tclUnixFile.c
+++ b/unix/tclUnixFile.c
@@ -269,6 +269,7 @@ TclpMatchInDirectory(
Tcl_DString dsOrig; /* utf-8 encoding of dir */
Tcl_DStringInit(&dsOrig);
+ Tcl_Encoding encoding;
dirName = TclGetString(fileNamePtr);
dirLength = fileNamePtr->length;
Tcl_DStringAppend(&dsOrig, dirName, dirLength);
@@ -364,7 +365,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;
@@ -379,7 +382,7 @@ TclpMatchInDirectory(
if (typeOk) {
Tcl_ListObjAppendElement(interp, resultPtr,
TclNewFSPathObj(pathPtr, utfname,
- Tcl_DStringLength(&utfDs)));
+ Tcl_DStringLength(&utfDs), encoding));
}
}
Tcl_DStringFree(&utfDs);