diff options
| author | dkf <donal.k.fellows@manchester.ac.uk> | 2024-05-26 13:19:43 (GMT) |
|---|---|---|
| committer | dkf <donal.k.fellows@manchester.ac.uk> | 2024-05-26 13:19:43 (GMT) |
| commit | 85d98f92fd33696034aab9f92955dc12ea3972ee (patch) | |
| tree | 7f001c238f93c5f63e92ad456786dc0f89e6b425 /generic/tclEncoding.c | |
| parent | 845ff1ddf732887fc40128ce9ff980c5524b26d8 (diff) | |
| parent | dc83b7dd6cf2ac488c5bf8d4756cd4490da2af28 (diff) | |
| download | tcl-85d98f92fd33696034aab9f92955dc12ea3972ee.zip tcl-85d98f92fd33696034aab9f92955dc12ea3972ee.tar.gz tcl-85d98f92fd33696034aab9f92955dc12ea3972ee.tar.bz2 | |
merge 8.6
Diffstat (limited to 'generic/tclEncoding.c')
| -rw-r--r-- | generic/tclEncoding.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/generic/tclEncoding.c b/generic/tclEncoding.c index f156a0b..d1096d2 100644 --- a/generic/tclEncoding.c +++ b/generic/tclEncoding.c @@ -1791,8 +1791,7 @@ OpenEncodingFileChannel( const char *name) /* The name of the encoding file on disk and * also the name for new encoding. */ { - Tcl_Obj *nameObj = Tcl_NewStringObj(name, TCL_INDEX_NONE); - Tcl_Obj *fileNameObj = Tcl_DuplicateObj(nameObj); + Tcl_Obj *fileNameObj = Tcl_ObjPrintf("%s.enc", name); Tcl_Obj *searchPath = Tcl_DuplicateObj(Tcl_GetEncodingSearchPath()); Tcl_Obj *map = TclGetProcessGlobalValue(&encodingFileMap); Tcl_Obj **dir, *path, *directory = NULL; @@ -1800,10 +1799,8 @@ OpenEncodingFileChannel( Tcl_Size i, numDirs; TclListObjGetElements(NULL, searchPath, &numDirs, &dir); - Tcl_IncrRefCount(nameObj); - Tcl_AppendToObj(fileNameObj, ".enc", TCL_INDEX_NONE); Tcl_IncrRefCount(fileNameObj); - Tcl_DictObjGet(NULL, map, nameObj, &directory); + TclDictGet(NULL, map, name, &directory); /* * Check that any cached directory is still on the encoding search path. @@ -1832,7 +1829,7 @@ OpenEncodingFileChannel( */ map = Tcl_DuplicateObj(map); - Tcl_DictObjRemove(NULL, map, nameObj); + TclDictRemove(NULL, map, name); TclSetProcessGlobalValue(&encodingFileMap, map, NULL); directory = NULL; } @@ -1866,7 +1863,7 @@ OpenEncodingFileChannel( */ map = Tcl_DuplicateObj(TclGetProcessGlobalValue(&encodingFileMap)); - Tcl_DictObjPut(NULL, map, nameObj, dir[i]); + TclDictPut(NULL, map, name, dir[i]); TclSetProcessGlobalValue(&encodingFileMap, map, NULL); } } @@ -1877,7 +1874,6 @@ OpenEncodingFileChannel( Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "ENCODING", name, (char *)NULL); } Tcl_DecrRefCount(fileNameObj); - Tcl_DecrRefCount(nameObj); Tcl_DecrRefCount(searchPath); return chan; |
