aboutsummaryrefslogtreecommitdiff
path: root/pd/src/d_osc.c
diff options
context:
space:
mode:
Diffstat (limited to 'pd/src/d_osc.c')
-rw-r--r--pd/src/d_osc.c40
1 files changed, 15 insertions, 25 deletions
diff --git a/pd/src/d_osc.c b/pd/src/d_osc.c
index 37821564..0d485513 100644
--- a/pd/src/d_osc.c
+++ b/pd/src/d_osc.c
@@ -17,33 +17,33 @@
#define HIOFFSET 0 /* word offset to find MSB */
#define LOWOFFSET 1 /* word offset to find LSB */
#define int32 long /* a data type that has 32 bits */
-#else
+#endif /* IRIX */
+
#ifdef MSW
/* little-endian; most significant byte is at highest address */
#define HIOFFSET 1
#define LOWOFFSET 0
#define int32 long
-#else
-#ifdef __FreeBSD__
+#endif
+
+#if defined(__FreeBSD__) || defined(MACOSX)
#include <machine/endian.h>
-#if BYTE_ORDER == LITTLE_ENDIAN
-#define HIOFFSET 1
-#define LOWOFFSET 0
-#else
-#define HIOFFSET 0 /* word offset to find MSB */
-#define LOWOFFSET 1 /* word offset to find LSB */
-#endif /* BYTE_ORDER */
-#include <sys/types.h>
-#define int32 int32_t
#endif
-#ifdef __linux__
+#ifdef MACOSX
+#define __BYTE_ORDER BYTE_ORDER
+#define __LITTLE_ENDIAN LITTLE_ENDIAN
+#endif
+
+#ifdef __linux__
#include <endian.h>
+#endif
+#if defined(__unix__) || defined(MACOSX)
#if !defined(__BYTE_ORDER) || !defined(__LITTLE_ENDIAN)
#error No byte order defined
#endif
-
+
#if __BYTE_ORDER == __LITTLE_ENDIAN
#define HIOFFSET 1
#define LOWOFFSET 0
@@ -51,20 +51,10 @@
#define HIOFFSET 0 /* word offset to find MSB */
#define LOWOFFSET 1 /* word offset to find LSB */
#endif /* __BYTE_ORDER */
-
#include <sys/types.h>
#define int32 int32_t
+#endif /* __unix__ or MACOSX*/
-#else
-#ifdef MACOSX
-#define HIOFFSET 0 /* word offset to find MSB */
-#define LOWOFFSET 1 /* word offset to find LSB */
-#define int32 int /* a data type that has 32 bits */
-
-#endif /* MACOSX */
-#endif /* __linux__ */
-#endif /* MSW */
-#endif /* SGI */
union tabfudge
{