Fix compile issues with Windows and VMS.

* main.c (initialize_stopchar_map): isblank() is not part of C89.
Install bits for space and tab directly.
* makeint.h: Don't define vfork; autoconf handles this for us.
* vmsjobs.c: Rename NEXT_TOKEN to V_NEXT_TOKEN to avoid conflicts.
* dir.c (print_dir_data_base): Visual Studio C doesn't have int64_t.
* w32/subproc/sub_proc.c (process_begin): Missing arg to memset().
* build_w32.bat: Don't use obsolete Visual Studio flags.
diff --git a/build_w32.bat b/build_w32.bat
index 9d75258..59e068b 100755
--- a/build_w32.bat
+++ b/build_w32.bat
@@ -149,7 +149,7 @@
 

 :: MSVC Compile

 echo on

-cl.exe /nologo /MT /W4 /GX /YX %OPTS% /I %OUTDIR% /I . /I glob /I w32/include /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR%OUTDIR% /Fp%OUTDIR%\%MAKE%.pch /Fo%OUTDIR%\%1.obj /Fd%OUTDIR%\%MAKE%.pdb %EXTRAS% /c %1.c

+cl.exe /nologo /MT /W4 /EHsc %OPTS% /I %OUTDIR% /I . /I glob /I w32/include /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR%OUTDIR% /Fp%OUTDIR%\%MAKE%.pch /Fo%OUTDIR%\%1.obj /Fd%OUTDIR%\%MAKE%.pdb %EXTRAS% /c %1.c

 @echo off

 echo %OUTDIR%\%1.obj >>%OUTDIR%\link.sc

 goto :EOF

diff --git a/dir.c b/dir.c
index 203a146..a286d2e 100644
--- a/dir.c
+++ b/dir.c
@@ -1082,9 +1082,9 @@
           else if (dir->contents->dirfiles.ht_vec == 0)
             {
 #ifdef WINDOWS32
-              printf (_("# %s (key %s, mtime %I64d): could not be opened.\n"),
+              printf (_("# %s (key %s, mtime %ull): could not be opened.\n"),
                       dir->name, dir->contents->path_key,
-		      (int64_t)dir->contents->mtime);
+                      (unsigned long long)dir->contents->mtime);
 #else  /* WINDOWS32 */
 #ifdef VMS_INO_T
               printf (_("# %s (device %d, inode [%d,%d,%d]): could not be opened.\n"),
@@ -1119,9 +1119,9 @@
                     }
                 }
 #ifdef WINDOWS32
-              printf (_("# %s (key %s, mtime %I64d): "),
+              printf (_("# %s (key %s, mtime %ull): "),
                       dir->name, dir->contents->path_key,
-		      (int64_t)dir->contents->mtime);
+                      (unsigned long long)dir->contents->mtime);
 #else  /* WINDOWS32 */
 #ifdef VMS_INO_T
               printf (_("# %s (device %d, inode [%d,%d,%d]): "),
diff --git a/main.c b/main.c
index 73eaf18..c812ba4 100644
--- a/main.c
+++ b/main.c
@@ -663,6 +663,9 @@
   stopchar_map[(int)'-'] = MAP_USERFUNC;
   stopchar_map[(int)'_'] = MAP_USERFUNC;
 
+  stopchar_map[(int)' '] = MAP_BLANK;
+  stopchar_map[(int)'\t'] = MAP_BLANK;
+
   stopchar_map[(int)'/'] = MAP_DIRSEP;
 #if defined(VMS)
   stopchar_map[(int)':'] |= MAP_DIRSEP;
@@ -674,9 +677,7 @@
 
   for (i = 1; i <= UCHAR_MAX; ++i)
     {
-      if (isblank (i))
-        stopchar_map[i] |= MAP_BLANK;
-      else if (isspace (i))
+      if (isspace (i) && NONE_SET (stopchar_map[i], MAP_BLANK))
         /* Don't mark blank characters as newline characters.  */
         stopchar_map[i] |= MAP_NEWLINE;
       else if (isalnum (i))
diff --git a/makeint.h b/makeint.h
index 7390da7..0ee5acc 100644
--- a/makeint.h
+++ b/makeint.h
@@ -137,9 +137,6 @@
 #ifdef HAVE_VFORK_H
 # include <vfork.h>
 #endif
-#if !HAVE_WORKING_VFORK
-# define vfork fork
-#endif
 
 #ifdef  HAVE_LIMITS_H
 # include <limits.h>
diff --git a/vmsjobs.c b/vmsjobs.c
index 649479e..f45c8a8 100644
--- a/vmsjobs.c
+++ b/vmsjobs.c
@@ -264,14 +264,14 @@
     { token->cmd_errno = ERANGE; return x; }}
 
 /* Check if we are out of space for more tokens */
-#define NEXT_TOKEN { if (cmd_tkn_index < MAX_DCL_TOKENS) \
+#define V_NEXT_TOKEN { if (cmd_tkn_index < MAX_DCL_TOKENS) \
   cmd_tokens[++cmd_tkn_index] = NULL; \
   else { token.cmd_errno = E2BIG; break; } \
   token.length = 0;}
 
 
 #define UPDATE_TOKEN {cmd_tokens[cmd_tkn_index] = strdup(token.text); \
-  NEXT_TOKEN;}
+  V_NEXT_TOKEN;}
 
 #define EOS_ERROR(x) { if (*x == 0) { token->cmd_errno = ERANGE; break; }}
 
diff --git a/w32/subproc/sub_proc.c b/w32/subproc/sub_proc.c
index 564ff1a..d34e840 100644
--- a/w32/subproc/sub_proc.c
+++ b/w32/subproc/sub_proc.c
@@ -677,7 +677,7 @@
         /*
          *  Set up inherited stdin, stdout, stderr for child
          */
-	memset(&startInfo, sizeof(startInfo));
+        memset(&startInfo, '\0', sizeof(startInfo));
         GetStartupInfo(&startInfo);
         startInfo.dwFlags = STARTF_USESTDHANDLES;
         startInfo.lpReserved = 0;