diff options
author | Paul Smith <psmith@gnu.org> | 2016-05-01 15:34:42 -0400 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2016-05-21 16:21:31 -0400 |
commit | 6f7fb050b4af7335de259f570b75bf6c217eb1cd (patch) | |
tree | 21cfcad4bfb2d24b0966b742d9141e0323de501d | |
parent | 45200a42d3de9a022584f98200ec141f46dcdf95 (diff) |
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.
-rwxr-xr-x | build_w32.bat | 2 | ||||
-rw-r--r-- | dir.c | 8 | ||||
-rw-r--r-- | main.c | 7 | ||||
-rw-r--r-- | makeint.h | 3 | ||||
-rw-r--r-- | vmsjobs.c | 4 | ||||
-rw-r--r-- | w32/subproc/sub_proc.c | 2 |
6 files changed, 12 insertions, 14 deletions
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
@@ -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]): "), @@ -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)) @@ -137,9 +137,6 @@ extern int errno; #ifdef HAVE_VFORK_H # include <vfork.h> #endif -#if !HAVE_WORKING_VFORK -# define vfork fork -#endif #ifdef HAVE_LIMITS_H # include <limits.h> @@ -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; |