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,.
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));
* ---------------------------------------------------------------------------*/
#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"