aboutsummaryrefslogtreecommitdiff
path: root/C/MtDec.c
diff options
context:
space:
mode:
Diffstat (limited to 'C/MtDec.c')
-rw-r--r--C/MtDec.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/C/MtDec.c b/C/MtDec.c
index 7820699..96274b6 100644
--- a/C/MtDec.c
+++ b/C/MtDec.c
@@ -1,5 +1,5 @@
/* MtDec.c -- Multi-thread Decoder
-2023-04-02 : Igor Pavlov : Public domain */
+2024-02-20 : Igor Pavlov : Public domain */
#include "Precomp.h"
@@ -809,6 +809,16 @@ static WRes MtDec_ThreadFunc2(CMtDecThread *t)
#endif
+typedef
+ #ifdef _WIN32
+ UINT_PTR
+ #elif 1
+ uintptr_t
+ #else
+ ptrdiff_t
+ #endif
+ MY_uintptr_t;
+
static THREAD_FUNC_DECL MtDec_ThreadFunc1(void *pp)
{
WRes res;
@@ -821,7 +831,7 @@ static THREAD_FUNC_DECL MtDec_ThreadFunc1(void *pp)
res = MtDec_ThreadFunc2(t);
p = t->mtDec;
if (res == 0)
- return (THREAD_FUNC_RET_TYPE)(UINT_PTR)p->exitThreadWRes;
+ return (THREAD_FUNC_RET_TYPE)(MY_uintptr_t)p->exitThreadWRes;
{
// it's unexpected situation for some threading function error
if (p->exitThreadWRes == 0)
@@ -832,7 +842,7 @@ static THREAD_FUNC_DECL MtDec_ThreadFunc1(void *pp)
Event_Set(&p->threads[0].canWrite);
MtProgress_SetError(&p->mtProgress, MY_SRes_HRESULT_FROM_WRes(res));
}
- return (THREAD_FUNC_RET_TYPE)(UINT_PTR)res;
+ return (THREAD_FUNC_RET_TYPE)(MY_uintptr_t)res;
}
static Z7_NO_INLINE THREAD_FUNC_DECL MtDec_ThreadFunc(void *pp)
@@ -1072,7 +1082,7 @@ SRes MtDec_Code(CMtDec *p)
if (wres == 0) { wres = Event_Set(&nextThread->canWrite);
if (wres == 0) { wres = Event_Set(&nextThread->canRead);
if (wres == 0) { THREAD_FUNC_RET_TYPE res = MtDec_ThreadFunc(nextThread);
- wres = (WRes)(UINT_PTR)res;
+ wres = (WRes)(MY_uintptr_t)res;
if (wres != 0)
{
p->needContinue = False;