diff options
author | Brad King <brad.king@kitware.com> | 2014-07-18 14:15:23 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2014-07-18 14:15:23 (GMT) |
commit | 6f3e094e9f0017b63e138e001c86e467c8f9b7c9 (patch) | |
tree | 9385a06db53dde1aee706f2c58b204fe5796e1da /Source | |
parent | bbd930ea3c7fbc376d2f112ae7cd373a27cdf5bc (diff) | |
parent | d4d1b7f7d1d6592f12a6692dfb8068aa495bd454 (diff) | |
download | CMake-6f3e094e9f0017b63e138e001c86e467c8f9b7c9.zip CMake-6f3e094e9f0017b63e138e001c86e467c8f9b7c9.tar.gz CMake-6f3e094e9f0017b63e138e001c86e467c8f9b7c9.tar.bz2 |
Merge branch 'upstream-kwsys' into update-kwsys
Diffstat (limited to 'Source')
-rw-r--r-- | Source/kwsys/SystemInformation.cxx | 5 | ||||
-rw-r--r-- | Source/kwsys/Terminal.c | 6 | ||||
-rw-r--r-- | Source/kwsys/testProcess.c | 15 |
3 files changed, 22 insertions, 4 deletions
diff --git a/Source/kwsys/SystemInformation.cxx b/Source/kwsys/SystemInformation.cxx index 6544098..2521aac 100644 --- a/Source/kwsys/SystemInformation.cxx +++ b/Source/kwsys/SystemInformation.cxx @@ -3696,7 +3696,10 @@ void SystemInformationImplementation::SetStackTraceOnError(int enable) // install ours struct sigaction sa; sa.sa_sigaction=(SigAction)StacktraceSignalHandler; - sa.sa_flags=SA_SIGINFO|SA_RESTART|SA_RESETHAND; + sa.sa_flags=SA_SIGINFO|SA_RESETHAND; +# ifdef SA_RESTART + sa.sa_flags|=SA_RESTART; +# endif sigemptyset(&sa.sa_mask); sigaction(SIGABRT,&sa,0); diff --git a/Source/kwsys/Terminal.c b/Source/kwsys/Terminal.c index 6d7ec41..e13003f 100644 --- a/Source/kwsys/Terminal.c +++ b/Source/kwsys/Terminal.c @@ -104,11 +104,11 @@ void kwsysTerminal_cfprintf(int color, FILE* stream, const char* format, ...) } /*--------------------------------------------------------------------------*/ -/* Detect cases when a stream is definately not interactive. */ +/* Detect cases when a stream is definitely not interactive. */ #if !defined(KWSYS_TERMINAL_ISATTY_WORKS) static int kwsysTerminalStreamIsNotInteractive(FILE* stream) { - /* The given stream is definately not interactive if it is a regular + /* The given stream is definitely not interactive if it is a regular file. */ struct stat stream_stat; if(fstat(fileno(stream), &stream_stat) == 0) @@ -212,7 +212,7 @@ static int kwsysTerminalStreamIsVT100(FILE* stream, int default_vt100, (void)default_tty; return isatty(fileno(stream))? 1:0; #else - /* Check for cases in which the stream is definately not a tty. */ + /* Check for cases in which the stream is definitely not a tty. */ if(kwsysTerminalStreamIsNotInteractive(stream)) { return 0; diff --git a/Source/kwsys/testProcess.c b/Source/kwsys/testProcess.c index 6d5eb71..3d62822 100644 --- a/Source/kwsys/testProcess.c +++ b/Source/kwsys/testProcess.c @@ -11,11 +11,13 @@ ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(Process.h) +#include KWSYS_HEADER(Encoding.h) /* Work-around CMake dependency scanning limitation. This must duplicate the above list of headers. */ #if 0 # include "Process.h.in" +# include "Encoding.h.in" #endif #include <stdio.h> @@ -393,6 +395,19 @@ int runChild(const char* cmd[], int state, int exception, int value, int main(int argc, const char* argv[]) { int n = 0; + +#ifdef _WIN32 + int i; + char new_args[10][_MAX_PATH]; + LPWSTR* w_av = CommandLineToArgvW(GetCommandLineW(), &argc); + for(i=0; i<argc; i++) + { + kwsysEncoding_wcstombs(new_args[i], w_av[i], _MAX_PATH); + argv[i] = new_args[i]; + } + LocalFree(w_av); +#endif + #if 0 { HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE); |