summaryrefslogtreecommitdiff
path: root/lang/tcl83/files/patch-tclEncoding.c
diff options
context:
space:
mode:
Diffstat (limited to 'lang/tcl83/files/patch-tclEncoding.c')
-rw-r--r--lang/tcl83/files/patch-tclEncoding.c30
1 files changed, 0 insertions, 30 deletions
diff --git a/lang/tcl83/files/patch-tclEncoding.c b/lang/tcl83/files/patch-tclEncoding.c
deleted file mode 100644
index 3250bffa568c..000000000000
--- a/lang/tcl83/files/patch-tclEncoding.c
+++ /dev/null
@@ -1,30 +0,0 @@
---- ../generic/tclEncoding.c.orig Thu Apr 5 13:28:52 2001
-+++ ../generic/tclEncoding.c Thu Apr 10 00:49:34 2003
-@@ -310,19 +310,19 @@
- {
- Tcl_HashSearch search;
- Tcl_HashEntry *hPtr;
-- Encoding *encodingPtr;
-
- Tcl_MutexLock(&encodingMutex);
- encodingsInitialized = 0;
- hPtr = Tcl_FirstHashEntry(&encodingTable, &search);
- while (hPtr != NULL) {
-- encodingPtr = (Encoding *) Tcl_GetHashValue(hPtr);
-- if (encodingPtr->freeProc != NULL) {
-- (*encodingPtr->freeProc)(encodingPtr->clientData);
-- }
-- ckfree((char *) encodingPtr->name);
-- ckfree((char *) encodingPtr);
-- hPtr = Tcl_NextHashEntry(&search);
-+ /*
-+ * Call FreeEncoding instead of doing it directly to handle refcounts
-+ * like escape encodings use. [Bug #524674]
-+ * Make sure to call Tcl_FirstHashEntry repeatedly so that all
-+ * encodings are eventually cleaned up.
-+ */
-+ FreeEncoding((Tcl_Encoding) Tcl_GetHashValue(hPtr));
-+ hPtr = Tcl_FirstHashEntry(&encodingTable, &search);
- }
- Tcl_DeleteHashTable(&encodingTable);
- Tcl_MutexUnlock(&encodingMutex);