From c9fbfbd95c04dcc7e0e56a678d0f5c2d6c673e2a Mon Sep 17 00:00:00 2001
From: "Redirect \\\"Slash\\\" NIL" <redirect.slash.nil@gmail.com>
Date: Sat, 17 Oct 2009 12:15:13 -0700
Subject: [PATCH] jim-eventloop for MinGW-w64

Use JIM_WIDE_MODIFIER for the sscanf format, and apply it for MINGW32 as
well as other Windows environments.  (Microsoft doesn't conform to the
C99 standard, and uses "%I64d" not "%lld" for "long long".)

NB: __MINGW32__ should work on both w32 and w64,.
---
 src/helper/jim-eventloop.c | 2 +-
 src/helper/jim.h           | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/helper/jim-eventloop.c b/src/helper/jim-eventloop.c
index 5da00c945..edeeae71e 100644
--- a/src/helper/jim-eventloop.c
+++ b/src/helper/jim-eventloop.c
@@ -498,7 +498,7 @@ static int JimELAfterCommand(Jim_Interp *interp, int argc,
 	int tlen ;
 	jim_wide remain = 0;
 	const char *tok = Jim_GetString(argv[2], &tlen);
-	if (sscanf(tok,"after#%lld",&id) == 1) {
+	if (sscanf(tok,"after#%" JIM_WIDE_MODIFIER, &id) == 1) {
 		remain =  Jim_DeleteTimeHandler(interp, id);
 		if (remain > -2)  {
 			Jim_SetResult(interp, Jim_NewIntObj(interp, remain));
diff --git a/src/helper/jim.h b/src/helper/jim.h
index 82d987f7c..0aa0c93df 100644
--- a/src/helper/jim.h
+++ b/src/helper/jim.h
@@ -120,7 +120,7 @@ extern "C" {
  * ---------------------------------------------------------------------------*/
 
 #ifdef HAVE_LONG_LONG_INT
-# if defined(_MSC_VER) || defined(__MSVCRT__)
+# if defined(_MSC_VER) || defined(__MSVCRT__) || defined(__MINGW32__)
 #    define JIM_WIDE_MODIFIER "I64d"
 # else
 #    define JIM_WIDE_MODIFIER "lld"
-- 
GitLab