summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/endianmacros.h
diff options
context:
space:
mode:
authorColin Guthrie <pulse@colin.guthr.ie>2008-08-22 10:56:45 +0100
committerColin Guthrie <pulse@colin.guthr.ie>2008-08-22 10:56:45 +0100
commit4282b726ee57ebae846ce400fd1cae43c4dfb2ae (patch)
tree2cb32c3bc52a9b9eab50a6195f3ccb190332f7d8 /src/pulsecore/endianmacros.h
parentbf17dbb101d509e885bf689f4f13f75e4b3ab58d (diff)
parentdc9b8dce309728b47059b9b44fd3bbd3798667ae (diff)
Merge branch 'master' of git://git.0pointer.de/pulseaudio
Diffstat (limited to 'src/pulsecore/endianmacros.h')
-rw-r--r--src/pulsecore/endianmacros.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/pulsecore/endianmacros.h b/src/pulsecore/endianmacros.h
index 26336918..1b94de17 100644
--- a/src/pulsecore/endianmacros.h
+++ b/src/pulsecore/endianmacros.h
@@ -46,9 +46,14 @@
#endif
static inline float PA_FLOAT32_SWAP(float x) {
- uint32_t i = *(uint32_t*) &x;
- i = PA_UINT32_SWAP(i);
- return *(float*) &i;
+ union {
+ float f;
+ uint32_t u;
+ } t;
+
+ t.f = x;
+ t.u = PA_UINT32_SWAP(t.u);
+ return t.f;
}
#define PA_MAYBE_INT16_SWAP(c,x) ((c) ? PA_INT32_SWAP(x) : x)