Different strategy regarding whether to declare getrusage() and

getpagesize() -- #ifdef doesn't work, Linux has conflicting decls in
its headers.  Choice: only declare the return type, not the argument
prototype, and not on Linux.
This commit is contained in:
Guido van Rossum 1997-08-17 16:24:30 +00:00
parent 54dec59b56
commit 607b33a1fe
1 changed files with 9 additions and 11 deletions

View File

@ -36,17 +36,15 @@ PERFORMANCE OF THIS SOFTWARE.
#include <string.h> #include <string.h>
#include <errno.h> #include <errno.h>
/* don't know why this isn't defined in a header file */ /* On some systems, these aren't in any header file.
#ifndef getrusage On others they are, with inconsistent prototypes.
int getrusage(int who, struct rusage *rusage); We declare the (default) return type, to shut up gcc -Wall;
#endif but we can't declare the prototype, to avoid errors
when the header files declare it different.
#ifndef getpagesize Worse, on some Linuxes, getpagesize() returns a size_t... */
#ifdef linux #ifndef linux
extern size_t getpagesize(void); int getrusage();
#else int getpagesize();
int getpagesize(void);
#endif
#endif #endif
#define doubletime(TV) ((double)(TV).tv_sec + (TV).tv_usec * 0.000001) #define doubletime(TV) ((double)(TV).tv_sec + (TV).tv_usec * 0.000001)