--- lib/mprintf.c Sun Feb 22 03:00:02 2004 +++ lib/mprintf.c Tue Feb 24 20:08:51 2004 @@ -127,6 +127,8 @@ long num; #ifdef HAVE_LONGLONG long long lnum; +#elif defined(_MSC_VER) + __int64 lnum; #endif double dnum; #if SIZEOF_LONG_DOUBLE @@ -530,6 +532,10 @@ if(vto[i].flags & FLAGS_LONGLONG) vto[i].data.lnum = va_arg(arglist, long long); else +#elif defined(_MSC_VER) + if(vto[i].flags & FLAGS_LONGLONG) + vto[i].data.lnum = va_arg(arglist, __int64); + else #endif if(vto[i].flags & FLAGS_LONG) vto[i].data.num = va_arg(arglist, long); @@ -615,6 +621,8 @@ /* Integral values to be written. */ #ifdef HAVE_LONGLONG unsigned long long num; +#elif defined(_MSC_VER) + unsigned __int64 num; #else unsigned long num; #endif @@ -706,7 +714,7 @@ /* Decimal integer. */ base = 10; -#ifdef HAVE_LONGLONG +#if defined(HAVE_LONGLONG) || defined(_MSC_VER) if(p->flags & FLAGS_LONGLONG) { /* long long */ is_neg = p->data.lnum < 0; @@ -940,6 +948,10 @@ #ifdef HAVE_LONGLONG if (p->flags & FLAGS_LONGLONG) *(long long *) p->data.ptr = (long long)done; + else +#elif defined(_MSC_VER) + if (p->flags & FLAGS_LONGLONG) + *(__int64 *) p->data.ptr = (__int64)done; else #endif if (p->flags & FLAGS_LONG)