diff options
Diffstat (limited to 'OpenAL32')
-rw-r--r-- | OpenAL32/Include/alMain.h | 12 | ||||
-rw-r--r-- | OpenAL32/alSource.c | 2 |
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 |