summaryrefslogtreecommitdiffstats
path: root/unix/tclUnixInit.c
diff options
context:
space:
mode:
authorapnadkarni <apnmbx-wits@yahoo.com>2023-04-23 08:13:11 (GMT)
committerapnadkarni <apnmbx-wits@yahoo.com>2023-04-23 08:13:11 (GMT)
commit2b41b2d12bf50d873436d0ce09e1e7b8345d5540 (patch)
tree6fb5f61f31dda4cc65bf9b4b66a9c598995749fe /unix/tclUnixInit.c
parent9cd23041f3a73559c43adb6120b1ccdf4bd15604 (diff)
parent6f566fc406752600f7ae67df0c7356d987b753fe (diff)
downloadtcl-2b41b2d12bf50d873436d0ce09e1e7b8345d5540.zip
tcl-2b41b2d12bf50d873436d0ce09e1e7b8345d5540.tar.gz
tcl-2b41b2d12bf50d873436d0ce09e1e7b8345d5540.tar.bz2
Fix gcc type mismatch warnings exposed by disabling casts using disabletcl8api
Diffstat (limited to 'unix/tclUnixInit.c')
-rw-r--r--unix/tclUnixInit.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/unix/tclUnixInit.c b/unix/tclUnixInit.c
index 9d1c192..1aecbd8 100644
--- a/unix/tclUnixInit.c
+++ b/unix/tclUnixInit.c
@@ -544,9 +544,17 @@ TclpInitLibraryPath(
Tcl_DStringFree(&buffer);
*encodingPtr = Tcl_GetEncoding(NULL, NULL);
- str = Tcl_GetStringFromObj(pathPtr, lengthPtr);
- *valuePtr = (char *)Tcl_Alloc(*lengthPtr + 1);
- memcpy(*valuePtr, str, *lengthPtr + 1);
+
+ /*
+ * Note lengthPtr is (TCL_HASH_TYPE *) which is unsigned so cannot
+ * pass directly to Tcl_GetStringFromObj.
+ * TODO - why is the type TCL_HASH_TYPE anyways?
+ */
+ Tcl_Size length;
+ str = Tcl_GetStringFromObj(pathPtr, &length);
+ *lengthPtr = length;
+ *valuePtr = (char *)Tcl_Alloc(length + 1);
+ memcpy(*valuePtr, str, length + 1);
Tcl_DecrRefCount(pathPtr);
}