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