diff --git a/build_w32.bat b/build_w32.bat index 9d752581..59e068b6 100755 --- a/build_w32.bat +++ b/build_w32.bat @@ -149,7 +149,7 @@ if "%COMPILER%" == "gcc" goto GccCompile :: 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 203a1464..a286d2ea 100644 --- a/dir.c +++ b/dir.c @@ -1082,9 +1082,9 @@ print_dir_data_base (void) 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 @@ print_dir_data_base (void) } } #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 73eaf181..c812ba4a 100644 --- a/main.c +++ b/main.c @@ -663,6 +663,9 @@ initialize_stopchar_map () 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 @@ initialize_stopchar_map () 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 7390da74..0ee5acc3 100644 --- a/makeint.h +++ b/makeint.h @@ -137,9 +137,6 @@ extern int errno; #ifdef HAVE_VFORK_H # include #endif -#if !HAVE_WORKING_VFORK -# define vfork fork -#endif #ifdef HAVE_LIMITS_H # include diff --git a/vmsjobs.c b/vmsjobs.c index 649479ef..f45c8a80 100644 --- a/vmsjobs.c +++ b/vmsjobs.c @@ -264,14 +264,14 @@ tryToSetupYAst(void) { 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 564ff1ae..d34e8408 100644 --- a/w32/subproc/sub_proc.c +++ b/w32/subproc/sub_proc.c @@ -677,7 +677,7 @@ process_begin( /* * 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;