summaryrefslogtreecommitdiffstats
path: root/generic/tclEncoding.c
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2024-05-26 10:04:31 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2024-05-26 10:04:31 (GMT)
commitdc83b7dd6cf2ac488c5bf8d4756cd4490da2af28 (patch)
tree24247fd5b7f78a183bfb1e4786c926d93d5378a7 /generic/tclEncoding.c
parent3e56737166b9ae9be21274b4ff4c0318b19ff1a3 (diff)
parent52e0863e247b040ad4634a2d76fb635864cc03f7 (diff)
downloadtcl-dc83b7dd6cf2ac488c5bf8d4756cd4490da2af28.zip
tcl-dc83b7dd6cf2ac488c5bf8d4756cd4490da2af28.tar.gz
tcl-dc83b7dd6cf2ac488c5bf8d4756cd4490da2af28.tar.bz2
More C functions for working with dicts [656fe3c816]
Diffstat (limited to 'generic/tclEncoding.c')
-rw-r--r--generic/tclEncoding.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/generic/tclEncoding.c b/generic/tclEncoding.c
index ba9f811..bbcaeb9 100644
--- a/generic/tclEncoding.c
+++ b/generic/tclEncoding.c
@@ -1494,8 +1494,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, -1);
- Tcl_Obj *fileNameObj = Tcl_DuplicateObj(nameObj);
+ Tcl_Obj *fileNameObj = Tcl_NewStringObj(name, -1);
Tcl_Obj *searchPath = Tcl_DuplicateObj(Tcl_GetEncodingSearchPath());
Tcl_Obj *map = TclGetProcessGlobalValue(&encodingFileMap);
Tcl_Obj **dir, *path, *directory = NULL;
@@ -1503,10 +1502,9 @@ OpenEncodingFileChannel(
int i, numDirs;
TclListObjGetElements(NULL, searchPath, &numDirs, &dir);
- Tcl_IncrRefCount(nameObj);
Tcl_AppendToObj(fileNameObj, ".enc", -1);
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.
@@ -1535,7 +1533,7 @@ OpenEncodingFileChannel(
*/
map = Tcl_DuplicateObj(map);
- Tcl_DictObjRemove(NULL, map, nameObj);
+ TclDictRemove(NULL, map, name);
TclSetProcessGlobalValue(&encodingFileMap, map, NULL);
directory = NULL;
}
@@ -1569,7 +1567,7 @@ OpenEncodingFileChannel(
*/
map = Tcl_DuplicateObj(TclGetProcessGlobalValue(&encodingFileMap));
- Tcl_DictObjPut(NULL, map, nameObj, dir[i]);
+ TclDictPut(NULL, map, name, dir[i]);
TclSetProcessGlobalValue(&encodingFileMap, map, NULL);
}
}
@@ -1580,7 +1578,6 @@ OpenEncodingFileChannel(
Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "ENCODING", name, NULL);
}
Tcl_DecrRefCount(fileNameObj);
- Tcl_DecrRefCount(nameObj);
Tcl_DecrRefCount(searchPath);
return chan;