AIX patches from Hans-Joachim Baader <hans-joachim.baader@cjt.de>

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1977 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1999-03-25 15:05:57 +00:00
parent 9dc12949f1
commit 227b5cd72f
5 changed files with 14 additions and 15 deletions

View File

@@ -28,7 +28,7 @@
// OS // OS
#if defined(__unix) || defined(__unix__) || defined(____SVR4____) || \ #if defined(__unix) || defined(__unix__) || defined(____SVR4____) || \
defined(__LINUX__) || defined(__sgi ) || \ defined(__LINUX__) || defined(__sgi ) || \
defined(__hpux) || defined(sun) || defined(__SUN__) defined(__hpux) || defined(sun) || defined(__SUN__) || defined(_AIX)
#ifndef __UNIX__ #ifndef __UNIX__
#define __UNIX__ #define __UNIX__

View File

@@ -323,7 +323,7 @@ public:
// under Unix it is tested with configure, assume it works on other // under Unix it is tested with configure, assume it works on other
// platforms (there might be overloading problems if size_t and int are // platforms (there might be overloading problems if size_t and int are
// the same type) // the same type)
#if !defined(__UNIX__) || defined(wxUSE_SIZE_T_STRING_OPERATOR) #if !defined(__UNIX__) || wxUSE_SIZE_T_STRING_OPERATOR
// operator version of GetChar // operator version of GetChar
char operator[](size_t n) const char operator[](size_t n) const
{ ASSERT_VALID_INDEX( n ); return m_pchData[n]; } { ASSERT_VALID_INDEX( n ); return m_pchData[n]; }

View File

@@ -114,6 +114,11 @@ extern const char WXDLLEXPORT *g_szNul = &g_strEmpty.dummy;
#endif //compiler #endif //compiler
#endif // no vsnprintf #endif // no vsnprintf
#ifdef _AIX
// AIX has vsnprintf, but there's no prototype in the system headers.
extern "C" int vsnprintf(char* str, size_t n, const char* format, va_list ap);
#endif
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// global functions // global functions
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------

View File

@@ -28,7 +28,7 @@
#include "wx/timer.h" #include "wx/timer.h"
#ifdef __SVR4__ #if defined(__SVR4__) && !defined(__SYSV__)
#define __SYSV__ #define __SYSV__
#endif #endif

View File

@@ -68,23 +68,21 @@
// many versions of Unices have this function, but it is not defined in system // many versions of Unices have this function, but it is not defined in system
// headers - please add your system here if it is the case for your OS. // headers - please add your system here if it is the case for your OS.
// SunOS (and Solaris) and DG-UX are like this. // SunOS (and Solaris) and DG-UX are like this.
#if defined(__SOLARIS__) || defined(__osf__) #ifdef HAVE_WAIT4
#if defined(__SOLARIS__) || defined(__osf__)
extern "C" extern "C"
{ {
pid_t wait4(pid_t pid, int *statusp, int options, pid_t wait4(pid_t pid, int *statusp, int options,
struct rusage *rusage); struct rusage *rusage);
} }
#endif
#define wxWait4(pid, stat, flags, rusage) wait4(pid, stat, flags, rusage) #define wxWait4(pid, stat, flags, rusage) wait4(pid, stat, flags, rusage)
#elif defined(__sgi) || defined(__HPUX__) #else
// no wait4() at all on these systems // no wait4() at all on these systems
// TODO verify whether wait3() really works in this situation // TODO verify whether wait3() really works in this situation
#define wxWait4(pid, stat, flags, rusage) wait3(stat, flags, rusage) #define wxWait4(pid, stat, flags, rusage) wait3(stat, flags, rusage)
#else #endif // HAVE_WAIT4
// other Unices: assume have wait4(), although it's not standard (but
// Linux and FreeBSD do have it)
#define wxWait4(pid, stat, flags, rusage) wait4(pid, stat, flags, rusage)
#endif // wait4()
// ============================================================================ // ============================================================================
// implementation // implementation
@@ -278,11 +276,7 @@ long wxExecute( char **argv, bool sync, wxProcess *process )
open("/dev/null", O_WRONLY); // stderr open("/dev/null", O_WRONLY); // stderr
#endif #endif
#ifdef _AIX
execvp ((const char *)*argv, (const char **)argv);
#else
execvp (*argv, argv); execvp (*argv, argv);
#endif
// there is no return after successful exec() // there is no return after successful exec()
fprintf(stderr, _("Can't execute '%s'\n"), *argv); fprintf(stderr, _("Can't execute '%s'\n"), *argv);