fix strict aliasing issues

Patch by Przemysław Iskra (#3805)
This commit is contained in:
Ludwig Nussel 2008-11-03 17:03:54 +00:00
parent f86f8e8ed8
commit c754d6fdfb
15 changed files with 91 additions and 108 deletions

View file

@ -205,16 +205,11 @@ qint64 Long64NoSwap (qint64 ll)
return ll;
}
typedef union {
float f;
unsigned int i;
} _FloatByteUnion;
float FloatSwap (const float *f) {
_FloatByteUnion out;
floatint_t out;
out.f = *f;
out.i = LongSwap(out.i);
out.ui = LongSwap(out.ui);
return out.f;
}