diff --git a/dtool/src/dtoolbase/dtoolbase_cc.h b/dtool/src/dtoolbase/dtoolbase_cc.h index 60ea4bd37f..a49d5b1477 100644 --- a/dtool/src/dtoolbase/dtoolbase_cc.h +++ b/dtool/src/dtoolbase/dtoolbase_cc.h @@ -48,7 +48,6 @@ using namespace std; // this maps to public. #define PUBLISHED __published -typedef int streamsize; typedef int ios_openmode; typedef int ios_fmtflags; typedef int ios_iostate; @@ -100,7 +99,7 @@ typedef basic_string wstring; #ifndef HAVE_STREAMSIZE // Some C++ libraries (Irix) don't define this. -typedef int streamsize; +typedef long streamsize; #endif #ifndef HAVE_IOS_TYPEDEFS diff --git a/dtool/src/parser-inc/iostream b/dtool/src/parser-inc/iostream index ea8ac836df..82357c0b96 100644 --- a/dtool/src/parser-inc/iostream +++ b/dtool/src/parser-inc/iostream @@ -20,6 +20,19 @@ #ifndef IOSTREAM_H #define IOSTREAM_H +#include + +#ifdef _WIN64 +typedef long long streamoff; +typedef long long streamsize; +#elif defined(_WIN32) +typedef long streamoff; +typedef int streamsize; +#else +typedef long long streamoff; +typedef ptrdiff_t streamsize; +#endif + // We don't care (much) about the actual definition of the various // iostream classes, but we do need to know the classnames that are // available. @@ -50,14 +63,6 @@ protected: class ios : public ios_base { __published: typedef long fmtflags; -#if defined(_WIN64) || !defined(_WIN32) - typedef unsigned long long streampos; - typedef long long streamoff; -#else - // 32-bit Windows uses 32-bit stream offsets. - typedef unsigned long streampos; - typedef long streamoff; -#endif bool good() const; bool eof() const; @@ -114,6 +119,4 @@ extern istream cin; extern ostream cout; extern ostream cerr; -typedef long streamoff; - #endif diff --git a/dtool/src/parser-inc/stdtypedefs.h b/dtool/src/parser-inc/stdtypedefs.h index 99280ebb4f..cae3ec4c04 100644 --- a/dtool/src/parser-inc/stdtypedefs.h +++ b/dtool/src/parser-inc/stdtypedefs.h @@ -19,25 +19,30 @@ #ifndef STDTYPEDEFS_H #define STDTYPEDEFS_H -#ifndef __APPLE__ -typedef unsigned long size_t; -typedef long ssize_t; typedef int off_t; -typedef unsigned int time_t; -typedef int clock_t; +typedef long time_t; +typedef long clock_t; struct FILE; namespace std { } -#endif -typedef int ptrdiff_t; typedef unsigned int uint; typedef unsigned long ulong; typedef unsigned short ushort; typedef unsigned char uchar; +#ifdef _WIN64 +typedef unsigned long long size_t; +typedef long long ssize_t; +typedef long long ptrdiff_t; +#else +typedef unsigned long size_t; +typedef long ssize_t; +typedef long ptrdiff_t; +#endif + #ifdef __cplusplus #define NULL 0L #else