]> git.saurik.com Git - wxWidgets.git/commitdiff
AIX patches from Hans-Joachim Baader <hans-joachim.baader@cjt.de>
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 25 Mar 1999 15:05:57 +0000 (15:05 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 25 Mar 1999 15:05:57 +0000 (15:05 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1977 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/defs.h
include/wx/string.h
src/common/string.cpp
src/common/timercmn.cpp
src/unix/utilsunx.cpp

index d0d54f441ad6f7d364f5eb400c6bd4d069f01289..f5777c1ee9decded609c35cedf1fe5196a420feb 100644 (file)
@@ -28,7 +28,7 @@
 // OS
 #if defined(__unix) || defined(__unix__) || defined(____SVR4____) || \
     defined(__LINUX__) || defined(__sgi ) || \
-    defined(__hpux) || defined(sun) || defined(__SUN__)
+    defined(__hpux) || defined(sun) || defined(__SUN__) || defined(_AIX)
 
     #ifndef __UNIX__
         #define __UNIX__
index 97e65cc9415dabf6a21c95beeece6d4445e81760..50f9fbf4a10deab8f4e0b1b7edbd074050b208eb 100644 (file)
@@ -323,7 +323,7 @@ public:
     // under Unix it is tested with configure, assume it works on other
     // platforms (there might be overloading problems if size_t and int are
     // the same type)
-#if !defined(__UNIX__) || defined(wxUSE_SIZE_T_STRING_OPERATOR)
+#if !defined(__UNIX__) || wxUSE_SIZE_T_STRING_OPERATOR
     // operator version of GetChar
     char  operator[](size_t n) const
       { ASSERT_VALID_INDEX( n ); return m_pchData[n]; }
index 86012fadb3cf4c17faa8043f4fe3f7505e80cee0..54a87d7ba5bb2006d656d4b0bd0308a69577f7a7 100644 (file)
@@ -114,6 +114,11 @@ extern const char WXDLLEXPORT *g_szNul = &g_strEmpty.dummy;
     #endif //compiler
 #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
 // ----------------------------------------------------------------------------
index 4049812a59d9e5f46833cb7f5d6ea5b174671d8d..7c1f7ccdc393a73cafa79bf131c79543641c5746 100644 (file)
@@ -28,7 +28,7 @@
 
 #include "wx/timer.h"
 
-#ifdef __SVR4__
+#if defined(__SVR4__) && !defined(__SYSV__)
 #define __SYSV__
 #endif
 
index 340f3d547cf8ac318411f754a90f5a0a1aa654ab..9121c39e87e43a8d00d65267d90dc18be38aecb6 100644 (file)
 // 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.
 // SunOS (and Solaris) and DG-UX are like this.
-#if defined(__SOLARIS__) || defined(__osf__)
+#ifdef HAVE_WAIT4
+  #if defined(__SOLARIS__) || defined(__osf__)
     extern "C"
     {
         pid_t wait4(pid_t pid, int *statusp, int options,
                     struct rusage *rusage);
     }
+  #endif
 
-    #define wxWait4(pid, stat, flags, rusage) wait4(pid, stat, flags, rusage)
-#elif defined(__sgi) || defined(__HPUX__)
+  #define wxWait4(pid, stat, flags, rusage) wait4(pid, stat, flags, rusage)
+#else
     // no wait4() at all on these systems
     // TODO verify whether wait3() really works in this situation
     #define wxWait4(pid, stat, flags, rusage) wait3(stat, flags, rusage)
-#else
-    // 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()
+#endif // HAVE_WAIT4
 
 // ============================================================================
 // implementation
@@ -278,11 +276,7 @@ long wxExecute( char **argv, bool sync, wxProcess *process )
         open("/dev/null", O_WRONLY);  // stderr
 #endif
 
-#ifdef _AIX
-        execvp ((const char *)*argv, (const char **)argv);
-#else
         execvp (*argv, argv);
-#endif
 
         // there is no return after successful exec()
         fprintf(stderr, _("Can't execute '%s'\n"), *argv);