summaryrefslogtreecommitdiffstats
path: root/Source/cmSystemTools.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmSystemTools.cxx')
-rw-r--r--Source/cmSystemTools.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index 1d2a0cf..298d779 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -932,6 +932,7 @@ bool RunCommandViaPopen(const char* command,
cmSystemTools::Stdout(buffer);
}
output += buffer;
+ buffer[0] = 0;
fgets(buffer, BUFFER_SIZE, cpipe);
}
@@ -971,11 +972,13 @@ bool RunCommandViaPopen(const char* command,
error << "SIGFPE";
break;
#endif
+#ifndef __HAIKU__
#ifdef SIGBUS
case SIGBUS:
error << "SIGBUS";
break;
#endif
+#endif
#ifdef SIGSEGV
case SIGSEGV:
error << "SIGSEGV";
@@ -1698,7 +1701,7 @@ int cmSystemToolsGZStructOpen(void* call_data, const char *pathname,
}
// no fchmod on BeOS 5...do pathname instead.
-#if defined(__BEOS__) && !defined(__ZETA__)
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
if ((oflags & O_CREAT) && chmod(pathname, mode))
{
return -1;