aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32
diff options
context:
space:
mode:
Diffstat (limited to 'OpenAL32')
-rw-r--r--OpenAL32/Include/alMain.h12
-rw-r--r--OpenAL32/alSource.c2
2 files changed, 12 insertions, 2 deletions
diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h
index 94d69bf3..004c4016 100644
--- a/OpenAL32/Include/alMain.h
+++ b/OpenAL32/Include/alMain.h
@@ -46,7 +46,17 @@ typedef unsigned long long ALuint64;
typedef ptrdiff_t ALintptrEXT;
typedef ptrdiff_t ALsizeiptrEXT;
-#define MAKEU64(x,y) (((ALuint64)(x)<<32)|(ALuint64)(y))
+#ifndef U64
+#if !defined(_MSC_VER)
+#if SIZEOF_LONG_LONG == 8
+#define U64(x) ((ALuint64)(x##ull))
+#elif SIZEOF_LONG == 8
+#define U64(x) ((ALuint64)(x##ul))
+#endif
+#else
+#define U64(x) ((ALuint64)(x##ui64))
+#endif
+#endif
#ifdef HAVE_GCC_FORMAT
#define PRINTF_STYLE(x, y) __attribute__((format(printf, (x), (y))))
diff --git a/OpenAL32/alSource.c b/OpenAL32/alSource.c
index 1dd9716c..0e84ba8c 100644
--- a/OpenAL32/alSource.c
+++ b/OpenAL32/alSource.c
@@ -2430,7 +2430,7 @@ static ALint64 GetSourceOffset(const ALsource *Source)
BufferList = BufferList->next;
}
- return (ALint64)minu64(readPos, MAKEU64(0x7fffffff,0xffffffff));
+ return (ALint64)minu64(readPos, U64(0x7fffffffffffffff));
}
/* GetSourceSecOffset