Joost, I saw that you updated the patch. However, you missed the most important fix:
--- dt2dv.c.orig 2006-05-05 12:16:02.000000000 +0200 +++ dt2dv.c 2006-09-14 23:19:24.000000000 +0200 @@ -36,7 +36,7 @@ size_t max; /* capacity of buf */ S4 wrote; /* number of characters written into buf */ size_t read; /* position in buf of next character to read from buf */ - char * buf; /* line buffer */ + unsigned char * buf; /* line buffer */ } Line; char linebuf[MAXLINE+1]; Maybe you didn't notice it because the char type is by default unsigned with MSVC (?). This is not so with mingw/cygwin, though. Given that you #ifdef'd the other part of the patch only for mingw/cygwin: @@ -1089,7 +1091,11 @@ dinfo(); status = 0; } +#if defined(__CYGWIN__) || defined(__MINGW32__) + else if ( ! isprint (c & 0x7f) && ! isspace (c)) +#else else if ( ! isprint (c) && ! isspace (c)) +#endif { PRINT_PROGNAME; fprintf (stderr, May I presume that MSVC has locale support? If yes, then perhaps the code about the locale warning which is currently #ifdef'd out in src/messages.C should also be specialized for MSVC. -- Enrico