diff options
author | pooryorick <com.digitalsmarties@pooryorick.com> | 2019-10-22 19:21:48 (GMT) |
---|---|---|
committer | pooryorick <com.digitalsmarties@pooryorick.com> | 2019-10-22 19:21:48 (GMT) |
commit | 566db2779b71036ff40e31affc73126c2a090773 (patch) | |
tree | 590ddf2c16afa55c810ad08dad8c92fbad62ed59 /unix | |
parent | 1ce018ea85386566dd65a3b924bc59c6617afe2b (diff) | |
parent | 2f8cb2ab854a2e311b49c8276bb59a76adaeafeb (diff) | |
download | tcl-566db2779b71036ff40e31affc73126c2a090773.zip tcl-566db2779b71036ff40e31affc73126c2a090773.tar.gz tcl-566db2779b71036ff40e31affc73126c2a090773.tar.bz2 |
Fix for [bcd1004104]
Diffstat (limited to 'unix')
-rw-r--r-- | unix/tclUnixFile.c | 7 |
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); |