summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--generic/tclHash.c2
-rw-r--r--generic/tclInt.h13
-rw-r--r--win/tclWinThrd.c2
3 files changed, 10 insertions, 7 deletions
diff --git a/generic/tclHash.c b/generic/tclHash.c
index fa30cee..7538821 100644
--- a/generic/tclHash.c
+++ b/generic/tclHash.c
@@ -354,7 +354,7 @@ CreateHashEntry(
}
hPtr->tablePtr = tablePtr;
- hPtr->hash = UINT2PTR(hash);
+ hPtr->hash = INT2PTR(hash);
hPtr->nextPtr = tablePtr->buckets[index];
tablePtr->buckets[index] = hPtr;
tablePtr->numEntries++;
diff --git a/generic/tclInt.h b/generic/tclInt.h
index 3f2d1ad..af839fc 100644
--- a/generic/tclInt.h
+++ b/generic/tclInt.h
@@ -128,21 +128,24 @@ typedef int ptrdiff_t;
* to/from pointer from/to integer of different size".
*/
-#if !defined(INT2PTR) && !defined(PTR2INT)
+#if !defined(INT2PTR)
# if defined(HAVE_INTPTR_T) || defined(intptr_t)
# define INT2PTR(p) ((void *)(intptr_t)(p))
-# define PTR2INT(p) ((intptr_t)(p))
# else
# define INT2PTR(p) ((void *)(p))
+# endif
+#endif
+#if !defined(PTR2INT)
+# if defined(HAVE_INTPTR_T) || defined(intptr_t)
+# define PTR2INT(p) ((intptr_t)(p))
+# else
# define PTR2INT(p) ((long)(p))
# endif
#endif
-#if !defined(UINT2PTR) && !defined(PTR2UINT)
+#if !defined(PTR2UINT)
# if defined(HAVE_UINTPTR_T) || defined(uintptr_t)
-# define UINT2PTR(p) ((void *)(uintptr_t)(p))
# define PTR2UINT(p) ((uintptr_t)(p))
# else
-# define UINT2PTR(p) ((void *)(p))
# define PTR2UINT(p) ((unsigned long)(p))
# endif
#endif
diff --git a/win/tclWinThrd.c b/win/tclWinThrd.c
index 86db837..b69fbfc 100644
--- a/win/tclWinThrd.c
+++ b/win/tclWinThrd.c
@@ -326,7 +326,7 @@ TclpThreadExit(
Tcl_ThreadId
Tcl_GetCurrentThread(void)
{
- return (Tcl_ThreadId)(size_t)GetCurrentThreadId();
+ return (Tcl_ThreadId)INT2PTR(GetCurrentThreadId());
}
/*