From: Mark Jansen Date: Sun, 18 Aug 2019 17:13:04 +0000 (+0200) Subject: [TIMEOUT] Use Int32x32To64 instead of __emul X-Git-Tag: 0.4.14-dev~248 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=69cd1ebbbd3ea4a248e923a9ece01c6001293d9f [TIMEOUT] Use Int32x32To64 instead of __emul --- diff --git a/base/applications/cmdutils/timeout/timeout.c b/base/applications/cmdutils/timeout/timeout.c index 129a0f1ac9f..7aaddfbf5ad 100644 --- a/base/applications/cmdutils/timeout/timeout.c +++ b/base/applications/cmdutils/timeout/timeout.c @@ -155,16 +155,7 @@ INT InputWait(BOOL bNoBreak, INT timerValue) timeElapsed = GetTickCount() - dwStartTime; if (timeElapsed < 1000) { - /* - * For whatever reason, x86 MSVC generates a ntdll!_allmul - * call when using Int32x32To64(), instead of an imul - * instruction. This leads the linker to error that _allmul - * is missing, since we do not link against ntdll. - * Everything is however OK with GCC... - * We therefore use the __emul() intrinsic which does - * the correct job. - */ - DueTime.QuadPart = __emul(1000 - timeElapsed, -10000); + DueTime.QuadPart = Int32x32To64(1000 - timeElapsed, -10000); SetWaitableTimer(hTimer, &DueTime, 0, NULL, NULL, FALSE); dwWaitState = WaitForSingleObject(hTimer, INFINITE);